Azure DevOps YAML构建:如何判断Null变量并返回指定布尔值
Azure DevOps YAML 变量判断问题解决方案
你遇到的问题源于Azure DevOps表达式的特性:Null和空字符串''通过ne()比较时会返回False,导致无法正确识别变量未填充(Null)的场景。
解决方案1:仅判断变量是否为Null
直接使用isNull()函数检查目标变量是否为Null,当releaseTag为Null时,isPreRelease会返回True:
isPreRelease: $[ isNull(dependencies.SetupStage.outputs['ConfigJob.VersionOut.releaseTag']) ]
解决方案2:同时处理Null和空字符串(更健壮)
如果变量可能被设置为空字符串而非Null,可通过or()组合两个判断条件,覆盖两种未填充场景:
isPreRelease: $[ or(isNull(dependencies.SetupStage.outputs['ConfigJob.VersionOut.releaseTag']), eq(dependencies.SetupStage.outputs['ConfigJob.VersionOut.releaseTag'], '')) ]
内容的提问来源于stack exchange,提问作者MrHinsh - Martin Hinshelwood
相关产品推荐
相关产品推荐

