Azure devops YML管道-基于表达式设置变量?

Azure devops YML管道-基于表达式设置变量?,azure-devops,azure-pipelines,azure-pipelines-build-task,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,在我的YML文件中,我使用了一个带有计数器的补丁变量,根据拉请求构建而不是PR来获得单独的补丁号 patch: $[counter(format('{0}-{1}', ne(variables['Build.Reason'], 'PullRequest'), variables['minor']), 0)] # True for CI/Manual. False for PR. 现在这有点让人困惑,因为我的PR/not PR构建数量将重叠,PR数量最终将领先 如果生成原因是PR,我如何说将我的

在我的YML文件中,我使用了一个带有计数器的补丁变量,根据拉请求构建而不是PR来获得单独的补丁号

patch: $[counter(format('{0}-{1}', ne(variables['Build.Reason'], 'PullRequest'), variables['minor']), 0)] # True for CI/Manual. False for PR.
现在这有点让人困惑,因为我的PR/not PR构建数量将重叠,PR数量最终将领先

如果生成原因是PR,我如何说将我的主要版本设置为0?我需要在变量声明中执行此操作,而不是在脚本中执行此操作,因此可见的内部版本号为0.1.x

像这样的可能

  major: $[if (ne(variables['Build.Reason'], 'PullRequest')), '1', '0']
文档似乎有点有限,但我认为有一种方法


OP.的更新。我决定放弃这一点,因为我意识到一旦我们将版本从Octopus转移到AZDO,我们选择的构建将是一片混乱。现在已将所有逻辑拆分为一个模板,该模板由PR和CI定义引用。CI构建通过truthy变量来推送工件