Я изо всех сил пытаюсь получить правильные условия, основанные на выбранных переменных. Мой трубопровод:
parameters:
- name: versionTag
displayName: After the tagging, should we do a patch, minor or major version update?
type: string
default: patch
values:
- patch
- minor
- major
- script: echo you want to do a patch version bump
condition: eq(variables.versionTag, 'patch')
- script: echo you want to do a minor version bump
condition: eq(variables.versionTag, 'minor')
Когда я запускаю конвейер, он просто говорит: «Пропуск шага из-за оценки условия», хотя при запуске конвейера я выбираю «исправление».
Я также пробовал:
- ${{ if eq(variables['versionTag'], 'patch') }}:
- script: echo "you want to do a patch version bump"
- ${{ if eq(variables['versionTag'], 'minor') }}:
- script: echo "you want to do a minor version bump"
Он дает тот же результат.
Любой совет?





Вы используете параметры, но в условиях или операторах {{ if }} вы ссылаетесь на переменные.
Для ссылки на параметры следует использовать синтаксис выражения шаблона — в данном случае ${{ parameters.versionTag }}.
Условия использования:
steps:
- script: echo you want to do a patch version bump
condition: eq('${{ parameters.versionTag }}', 'patch')
displayName: 'Patch version bump'
- script: echo you want to do a minor version bump
condition: eq('${{ parameters.versionTag }}', 'minor')
displayName: 'Minor version bump'
Используя утверждения {{ if }}:
steps:
- ${{ if eq(parameters.versionTag, 'patch') }}:
- script: echo you want to do a patch version bump
displayName: 'Patch version bump'
- ${{ if eq(parameters.versionTag, 'minor') }}:
- script: echo you want to do a minor version bump
displayName: 'Minor version bump'
Работаю, спасибо большое. Мне также пришлось дважды проверить свое понимание параметров и переменных!