更新时间:2024-05-20 GMT+08:00
分享

执行条件表达式

表达式由流水线上下文操作符函数或常量任意组合而成,通常用于流水线阶段任务的执行条件中,以限制任务执行。表达式以编程的方式访问流水线上下文,实现将流水线中运行的实例、变量、任务等信息在流水线之间互相传递。

操作符

操作符

说明

.

属性引用。

!

非。

==

等于。

!=

不等于。

&&

且。

||

或。

示例:

如需在执行条件中指定不管前置任务(任务ID为“job_1”)运行成功或失败,均执行当前任务,则表达式语法如下。

${{ jobs.job_1.status == 'COMPLETED' || jobs.job_1.status == 'FAILED' }}

函数

表达式中可使用如下内置函数。

  • contains
    • 格式

      contains(search, item)

    • 含义

      如果“search”包含“item”,则函数返回“true”。如果“search”是一个数组,那么如果“item”是数组中的一个元素,则此函数返回“true”;如果“search”是一个字符串,那么如果“item”是“search”的子字符串,则函数返回“true”。

    • 示例

      contains('abc', 'bc') ,函数将返回“true”。

  • startsWith
    • 格式

      startsWith(searchString, searchValue)

    • 含义

      如果“searchString ”以“searchValue”开始,则函数返回“true ”。

    • 示例

      startsWith('abc', 'ab'),函数将返回“true”。

  • endsWith
    • 格式

      endsWith(searchString, searchValue)

    • 含义

      如果“searchString”以“searchValue”结束,则函数返回“true”。

    • 示例

      endsWith('abc', 'bc'),函数将返回“true”。

  • 对象筛选器

    使用“*”语法应用筛选器并选择集合中的匹配项。

    示例:

    如下是流水线某次运行的jobs上下文。

    则“jobs.*.status”返回“[ 'COMPLETED', 'FAILED' ]”。

    可结合contains函数一起使用,如:contains(jobs.*.status, 'FAILED'),函数将返回“true”。

    {
        "check_job": {
            "status": "COMPLETED",
            "metrics": {
                "critical": "0",
                "major": "0"
            }
        },
        "demo_job": {
            "status": "FAILED"
        }
    }

分享:

    相关文档

    相关产品