Considere o seguinte pipeline e modelo do Azure YAML que usa a função convertToJson para converter um parâmetro de objeto em uma string JSON:
parameters:
- name: foo
type: string
default: 'b"ar'
trigger: none
pool:
vmImage: 'ubuntu-latest'
variables:
- name: foo
value: 'b"ar'
steps:
- checkout: none
- template: /pipelines/steps/set-settings.yaml
parameters:
settings:
fooLiteral: 'b"ar'
fooParameter: ${{ parameters.foo }}
fooCompiledVariable: ${{ variables.foo }}
fooRuntimeVariable: $(foo)
Modelo /pipelines/steps/set-settings.yaml:
parameters:
- name: settings
type: object
steps:
- script: |
echo $SETTINGS
displayName: 'Display settings'
env:
SETTINGS: ${{ convertToJson(parameters.settings) }}
Ao executar o pipeline, por que todos os valores são escapados corretamente, exceto fooRuntimeVariable
?