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

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

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

variables:
  - group: Variables_General

...

condition: variables.isMain

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

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

1 ответ

Решение

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)