更新时间:2021-12-08 GMT+08:00
分享

check_result

check_result用于获取“指定步骤”的标准输出,并判断是否与指定的字符串相等。主要用于控制流程的条件分支执行

  • 目前支持获取的最大输出长度为1M字节,如果目标步骤的stdout超出,则execution执行时会报错终止(当然,您可以在失败后调整命令,然后触发继续执行)。
  • check_result仅在condition字段内可用。

语法

job-a:
  tool: nginx:latest
  commands:
    - echo 111  # <== 某步骤的输出
job-b:
  condition: check_result(job-target, expect)  # <==== 注意这里,判断输出是否相等

参数说明

表1 参数说明

参数

是否必填

类型

描述

job-target

String

指定获取结果的目标Job名。

expect

String

期待的值,用于判断条件是否满足:

  • 使用双引号来表示,如"OK";
  • 可以使用变量,如 ${input}。

返回值

ture 或者 false。

  • true:job-target的标准输出与expect参数值相等时,返回true;
  • false:job-target的标准输出与expect参数值不相等时,返回false。

示例

假设某目标步骤“job-a”的功能为判断样本数据是否合格,其标准输出为:

ok

通过check_result函数,决定后续步骤执行分支。

job-a:
  tool: nginx:latest
  commands:
    - echo ok  # <== 步骤的输出
job-b:
  condition: check_result(job-a, "ok")      # <==== 这里运行结果为,conditon: true
job-c
  condition: check_result(job-a, "not_ok")  # <==== 这里运行结果为,conditon: false

相关文档