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

Azure DevOps YAML流水线中如何在条件中使用each循环变量

解决Azure DevOps流水线each循环中条件判断的变量解析问题

你的代码存在两个关键问题,导致循环变量无法正确解析并报错无法识别的值:'$':

1. 缩进语法错误

原代码中script任务前多了一个破折号,导致它脱离了each循环的作用域,循环变量myitem无法被正确关联到该任务。

2. 条件表达式的语法错误

Azure DevOps的condition中,模板编译阶段的变量(比如each循环的myitem)需要通过模板表达式${{}}包裹整个判断逻辑,而非仅包裹变量部分,否则会触发语法解析错误。

修正后的代码示例

- ${{ each myitem in parameters.itemList }}:
  - script: echo "Matched for ${{ myitem }}"
    displayName: "Display item only on condition"
    condition: ${{ eq(variables['myPipelinevariable'], myitem) }}

说明

  • 修正缩进后,script任务成为each循环的子项,确保myitem变量在该任务的作用域内。
  • 将整个eq判断逻辑放入${{}}中,让Azure DevOps在模板编译阶段就完成myitem变量的替换,避免运行时解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 13:08:12