流水线 CodeArts Pipeline-配置流水线执行条件表达式:相关参考
相关参考
- 操作符
表达式中可以使用如下操作符:
表1 操作符 操作符
说明
.
属性引用。如:${{ pipeline.trigger_type }},表示获取流水线的触发类型。
!
非。如:${{ !startsWith(sources.my_repo.target_branch, 'release') }},表示判断流水线代码源的分支是否不以release开头。
==
等于。如:${{ pipeline.trigger_type == 'Manual' }},表示判断流水线的触发方式是否为手动触发。
!=
不等于。如:${{ pipeline.trigger_type != 'Manual' }},表示判断流水线的触发方式是否不为手动触发。
&&
且。如:${{ pipeline.trigger_type == 'Manual' && sources.my_repo.target_branch == 'master' }},表示判断流水线的触发方式为手动触发并且流水线代码源的分支为master。
||
或。如:${{ pipeline.trigger_type == 'Manual' || sources.my_repo.target_branch == 'master' }},表示判断流水线的触发方式为手动触发或者流水线代码源的分支为master。
- 函数
表达式中可使用如下内置函数:
表2 内置函数 函数
说明
contains
startsWith
endsWith
对象筛选器
使用“*”语法应用筛选器并选择集合中的匹配项。
示例:如下是流水线某次运行的jobs上下文
{ "check_job": { "status": "COMPLETED", "metrics": { "critical": "0", "major": "0" } }, "demo_job": { "status": "FAILED" }}
- 示例1:“jobs.*.status”,表示所有任务的状态,所以返回“[ 'COMPLETED', 'FAILED' ]”。
- 示例2:结合contains函数一起使用,如:contains(jobs.*.status, 'FAILED'),“jobs.*.status”中包含“FAILED”,所以返回“true”。