Je commence juste à travailler avec des paramètres d'exécution dans les pipelines Azure et je ne peux pas comprendre quelque chose. Compte tenu de ce pipelines Azure Yaml:
parameters:
- name: deployEnvironment
displayName: Select your target environment.
type: string
default: Build_only
values:
- Build_only
- TST
- PP
- P
- name: releaseName
type: string
default: ''
steps:
- task: ....
Pourquoi le désapprouve-t-il un paramètre requis? J'espérais que en précisant default: ''
Il serait facultatif d'être laissé vide. La documentation ne mentionne pas si les paramètres peuvent être effectués en option.
Suivi sur la réponse de Kryzstof, j'ai expérimenté un peu plus loin et il semble qu'une ficelle composée que des espaces blanchisseurs soit interprétée comme vide:
Il semble que cet espacement unique soit interprété comme vide (j'ai également essayé plusieurs espaces blousins).
parameters:
- name: myString
type: string
default: ' '
steps:
- task: PowerShell@2
inputs:
targetType: inline
script: |
$MS = $ENV:MS
Write-Host "myString value is '$MS'"
Write-Host "Its length is $($MS.Length)"
Write-Host "is it null or empty? $([System.String]::IsNullOrEmpty($MS))"
Write-Host "Is it null or whitespace? $([System.String]::IsNullOrWhiteSpace($MS))"
env:
MS: ${{ parameters.myString }}
Ces rendements:
la valeur mystring est '' sa longueur est 0 est-elle nulle ou vide? Vrai est-ce nul ou blanc? Vrai
Selon , la documentation , "Les paramètres ne peuvent pas être facultatifs".
Mettre un espace ' '
Comme la valeur par défaut fonctionnera (comme krzysztof suggérées), mais l'espace restera sur le terrain. Si vous supprimez l'espace dans le champ afin qu'il n'y ait pas de valeur de texte, la valeur par défaut de ' '
sera utilisé lorsque le pipeline est exécuté.