ADO 管道 - 如何在运行时评估变量组的值

ADO pipelines - how to evaluate the value of a variable group at runtime

我有一个变量组,我想在其中 运行 一个表达式。也就是说,我想在 运行 时间计算变量组的变量内容。

Variables_General 有一个名为 isMain 的变量,其内容为 $[contains(variables['Build.SourceBranch'], 'refs/heads/develop')]

variables:
  - group: Variables_General

...

condition: variables.isMain

但这没有按预期工作。我尝试了各种双引号组合,使用 $[] 和 $()。我在变量值和变量的引用方式上都试过了。它做两件事之一,说它不期待“$”或者只是检测到变量有内容,因此是“真”

在 运行 时间计算的变量组变量值中包含代码的正确方法是什么?

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)