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

Azure DevOps流水线条件执行异常:branches变量类型疑问

Azure DevOps流水线变量类型问题解析

你的branches变量通过$[ or(...) ]表达式生成,它的类型是布尔值,不是字符串。

为什么条件不执行?

你写的${{ if eq(variables.branches, 'true') }}是在把布尔值和字符串'true'做相等比较,两者类型不匹配,结果永远是false,所以条件分支不会触发。

而你手动设置branches: true时能正常工作,分两种情况:

  • 若你是在YAML里直接写branches: true,这个true是布尔字面量,和表达式生成的布尔值类型一致——如果你此时能正常执行,大概率是手动调整了条件写法(比如直接用${{ if variables.branches }}),而非继续用字符串比较。
  • 若你是在流水线变量面板中输入true,这个值会被解析为字符串,此时和'true'比较自然会生效。

正确的写法

要让条件正确执行,直接用布尔值作为判断条件即可,或者和布尔字面量true比较:

# 写法1:直接判断布尔值
${{ if variables.branches }}

# 写法2:和布尔字面量比较
${{ if eq(variables.branches, true) }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 23:40:19