Azure Pipelines でランタイム パラメーターを使い始めたばかりですが、よくわからないことがあります。この Azure Pipelines 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: ....
releaseName が必須パラメーターであるのはなぜですか? 指定するdefault: ''
ことで、空のままにすることがオプションになることを望んでいました。ドキュメントには、パラメーターをオプションにすることができるかどうかについては言及されていません。
Kryzstof の回答に続いて、もう少し実験を行ったところ、空白のみで構成される文字列は空として解釈されるようです。
この単一の空白は空として解釈されるようです (複数の空白も試しました)。
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 }}
これにより、次の結果が得られます。
myString 値は '' その長さは 0 です null または空ですか? True null か空白か? 真実