在Azure Devops中使用表达式而不是变量

时间:2020-03-19 18:27:52

标签: variables azure-devops

在azure devops中,在经典版本中,我通常可以执行$(myVar)来获取某些位置的变量值。我不确定该特定用法是否有名称。

是否有一种方法可以为相同的用例传递表达式。我的意思是我可以代替$(myVar)来做类似$(coalesce(myVar, otherVar))的事情吗? 我尝试将其包装在不同的括号中,似乎没有用。

我已经在这里检查了文档:https://docs.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops

它没有显示如何在经典管道中使用,仅显示了Yaml。

2 个答案:

答案 0 :(得分:2)

是否有一种方法可以为相同的用例传递表达式。我的意思是我可以用$(coalesce(myVar, otherVar))?

同意 Daniel ,“表达式”的常见用法是为步骤,工作或阶段定义条件定义变量。如果要使用$(coalesce(myVar, otherVar))而不是$(myVar)定义变量,则这些表达式在Yaml管道中效果很好,而在Classic管道中不支持该表达式。

$(coalesce(...))built-in functions之一。在经典管道中,这些功能的唯一工作范围是作业/任务的条件,请参见:

工作:

enter image description here

任务:

enter image description here

但是似乎您在定义变量时正在尝试使用内置函数,目前经典管道不支持该函数。这些只能用于定义/控制经典管道中作业/任务的条件。

答案 1 :(得分:1)

链接的文档中概述的表达式适用于YAML。除非您使用YAML,否则您将无法做您想做的事情。