You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps管道中为succeeded表达式函数传递作业名称参数?

解决Azure DevOps YAML管道中succeeded()函数引用作业名称的问题

你遇到的报错是因为在succeeded()函数里直接写作业名first时,Azure DevOps会把它当成未定义的变量,而非作业名称的字面量。正确写法是把作业名称用单引号括起来,作为字符串参数传入。

修改后的第三个作业条件如下:

condition: and(
    succeeded('first'),
    in(dependencies.second.result, 'Succeeded', 'Skipped', 'SucceededWithIssues')
  )

原因说明

Azure DevOps的表达式语法中,裸写的标识符会被解析为变量引用,而succeeded()函数需要接收的是作业名称的字符串值。用单引号包裹first后,表达式引擎才会将其识别为指定作业的名称,从而正确判断该作业是否成功完成。

这样修改后,第三个作业就能根据first作业是否成功,以及second作业是否处于成功/跳过/成功但有问题的状态来决定是否运行,写法比直接判断dependencies.first.result更简洁。

内容的提问来源于stack exchange,提问作者dumbchemistry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 12:35:19