Конвейеры ADO - как оценить значение группы переменных во время выполнения - PullRequest
0 голосов
/ 05 августа 2020

У меня есть группа переменных, в которой я хочу запустить выражение. То есть я хочу, чтобы содержимое переменной группы переменных вычислялось во время выполнения.

Variables_General имеет переменную isMain с содержимым $[contains(variables['Build.SourceBranch'], 'refs/heads/develop')]

variables:
  - group: Variables_General

...

condition: variables.isMain

Но это не работает должным образом. Я пробовал различные комбинации двойных кавычек, используя $ [] и $ (). Я пробовал это как для значения переменной, так и для ссылки на переменную. Он делает одно из двух: говорит, что не ожидал "$", или просто обнаруживает, что переменная имеет содержимое и, следовательно, имеет значение "истина"

Каков правильный способ добавления кода в значение переменной группы переменных что оценивается во время выполнения?

1 Ответ

1 голос
/ 06 августа 2020

Yaml ссылается на группу переменных, но не может анализировать выражение. Yaml обрабатывает $[contains(variables['Build.SourceBranch'], 'refs/heads/develop')] в группе переменных как символы.

Вы можете отправить предложение на веб-сайте ниже:

https://developercommunity.visualstudio.com/content/idea/post.html?space=21

В настоящее время , вы можете определить переменную isMain отдельно в переменных:

variables:
- group: Variables_General
- name: isMain 
  value: $[contains(variables['Build.SourceBranch'], 'refs/heads/master')]

steps:
- script: echo Hello!
  condition: eq(variables.isMain, true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...