1. 产品简介
  2. 快速开始
  3. 编写构建流程
  4. 配置构建计划
  5. 构建节点
  6. 管理构建计划
  7. 系统插件
  8. 自定义团队插件
  9. 最佳实践
  10. 常见问题
  11. 词汇表
持续集成——QCI / CIFile 文件 / 人工确认

人工确认

prompt 关键字可以用来暂停当前任务的执行,用于人工确认是否需要继续执行或是中止执行。

基础用法

在 CIFile 中设置 prompt 关键字:

prompt 在 stages 关键字的下一级,作为一个特殊的 stage,prompt 关键字例子如下:

stages:
    - stage: build
      cmds:  # cmds are executed sequtially
          - make

    - prompt:  #the stage will hold until recerver confirm
        - msg: Should go on?
          detail: "[click](http://tapd.oa.com)"
          to: someone
        - msg: another message
          to: [someone_A, someone_B]

msg表示流水线暂停的原因、以及用户需确认的内容等信息,会显示在 prompt 的人工确认界面中。

to表示该 prompt 需要确认的处理人,多个处理人使用列表的形式,表示其中任一一个处理人都可以处理。

detail表示显示在处理界面上的详细信息,支持 markdown 格式和环境变量,人工处理时可以展示更丰富的信息和交互。

包含 prompt 关键字的 pipeline 如下图所示:

可以在 detail 关键字中填写 markdown 和环境变量

点击 task 节点,会显示 prompt 处理页签,处理人可以根据实际情况选择继续运行或是中止流水线

选择“继续”,如果还有剩余的 prompt 任务,还需要等待其余的 prompt 处理完毕,否则后面的 stage 将会继续执行。

选择“终止”,其余的 prompt 任务将会置为略过,后面的 stage 将不会执行(finally 除外)

注意: prompt的处理人可以用QCI_PROMPT_OPERATOR环境变量来获取,多个处理人用分号分隔。
处理信息可以用QCI_PROMPT_MSG环境变量来获取,多个处理信息用分号分隔。

注意: prompt下的 msg、to、detail 关键字支持使用环境变量。

注意: 为了方便使用环境变量来定义不定个数的处理人,to 关键字同时也支持用分号(;)分隔的多个人名

超时设置

prompt 也算入任务的整体执行时长中,可以通过timeout关键字来指定超时时间。

例子如下:

- prompt:  #the stage will hold until recerver confirm
    - msg: another message
      to: [someone_A, someone_B]
      timeout: 30

timeout的默认单位是分钟,CODING-CI允许指定时间单位来简化配置,目前支持h(小时),m(分钟),s(秒)

比如,允许处理时间为一小时,可以设置成

- prompt:  #the stage will hold until recerver confirm
    - msg: another message
      to: [someone_A, someone_B]
      timeout: 1h

自定义表单

prompt可以设置自定义表单项,填写的表单项在后续步骤中可以通过环境变量获取。

自定义表单项的格式与 CIFile 中环境变量的格式一致。

- prompt:  #the stage will hold until recerver confirm
    - msg: another message
      to: [someone_A, someone_B]
      env:
          tapd_url: "",
          report_url:
              value: ""
              desc: 报告链接
              require: true

desc为表单项的说明

require为 true 表示表单项必录

env的 key 会放入环境变量中,在后续的步骤中可以直接获取,在此也需要注意环境变量的注意事项。

上一篇文件路径配置格式
最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?

您希望我们如何改进?