工作流的触发

本文主要介绍 Zadig 工作流的触发,包括:

  • 手动触发
  • 触发器触发,支持以下 5 种触发器:
    • Git 触发器:代码变更后自动触发工作流
    • 定时器:定时触发工作流
    • JIRA 触发器:JIRA 问题状态变更后自动触发工作流
    • 飞书项目触发器:飞书项目状态变更后自动触发工作流
    • 通用触发器:第三方系统通过 Webhook 自动触发工作流
  • 调用开发者 OpenAPI 触发

手动触发

工作流执行入口

入口一: 点击列表中工作流右侧对应的执行按钮,执行工作流。

工作流列表页启动

入口二: 点击工作流操作中的执行按钮,执行工作流。

工作流详情页

执行参数

工作流详情页

说明:

  • 区域 1:选择执行的任务
  • 区域 2:根据不同的任务输入不同的执行参数

Git 触发器

配置 Git 触发器后,当满足配置条件的代码发生变更时则可以自动触发工作流。

注意

代码源为其他类型时,不支持 Git 触发器。

如何配置

代码托管平台通过 Webhook 的方式触发 Zadig 工作流,所以需要在对应仓库中配置相应的 Webhook,Zadig 提供两种配置 Webhook 的方式:

  • 自动创建:在工作流中配置触发器参数即可,Zadig 会自动在对应代码库中创建 Webhook,适用于代码源集成账号对代码库有创建 Webhook 权限的场景。
  • 手动创建:先在代码库中配置 Webhook,再在 Zadig 中配置触发器参数,适用于代码源集成账号对代码库没有创建 Webhook 权限的场景。
自动创建

点击工作流右侧的 触发器

工作流触发器

选择 Git 触发器 -> 填写参数后保存即可。

工作流的触发 - 图5 工作流的触发 - 图6

参数说明:

  • 工作流执行变量:希望被 Webhook 触发执行的任务,以及任务中的具体配置
  • 其他参数:请参考 Git 触发器基本配置中的描述
手动创建

如果系统集成中的代码源集成账号对代码库没有创建 Webhook 权限,可以选择使用手动创建的方式来配置,操作步骤如下:

  1. 点击手动创建 Webhook 切换到手动创建页面。

工作流的触发 - 图7 工作流的触发 - 图8

  1. 访问代码库配置 Webhook,填写 Webhook URL、Secret Token、触发事件,以 GitLab 示例如下:

不同代码源需要配置的触发事件

  • GitHub 代码源:Branch or tag creation、Check runs、Pull requests、Pushes
  • GitLab 代码源:Push events、Tag push events、Merge request events
  • Gitee 代码源:Push、Tag Push、Pull Request

工作流触发器

  1. 参考 Git 触发器基本配置,填写 Zadig 中的相关配置后保存即可。

代码变更触发效果

配置完成后,根据配置提交 pull request、merge request 或者 push 可触发工作流,以 GitLab 为例,在 merge request 中可以查看工作流的反馈信息,如下所示。

代码变更工作流信息反馈

定时器

如何配置

编辑工作流,点击右侧的 触发器 -> 选择 定时器,通过配置定时器,可以实现周期性的运行工作流。支持定时循环、周期循环以及基于 Cron 表达式循环。

工作流触发器 工作流触发器 工作流触发器

参数说明:

  • 工作流执行变量:被触发执行的任务,以及任务中的具体配置
  • 其他参数:参考定时器配置

使用效果

配置后,Zadig 根据配置的时间周期和工作流变量执行工作流。 工作流触发器

JIRA 触发器

可实现 JIRA 状态变更后自动触发 Zadig 工作流。

如何配置

第一步:在工作流中添加 JIRA 触发器

编辑工作流,点击右侧的 触发器 -> 选择 JIRA 触发器

工作流的触发 - 图15 工作流的触发 - 图16

填写参数后保存触发器配置。

jira_trigger

参数说明:

  • 工作流执行变量:希望被触发执行的任务,以及任务中的具体配置

复制 Webhook Url 后保存工作流。

jira_trigger

第二步:在 JIRA 中完成 Webhook 配置

访问 JIRA 系统 -> 点击右上角的 设置 图标 -> 点击 System -> 在左侧 ADVANCED 下找到 Webhook

工作流的触发 - 图19 工作流的触发 - 图20

点击 + Create a Webhook -> 填写 URL(即:第一步中保存的 Webhook Url)并配置触发事件。

提示

目前支持基于 Issue related events 事件自动触发工作流

jira_webhook

使用效果

当满足条件的事件发生后会自动触发工作流执行,待工作流执行完成后,将会添加 Comment 到对应的 Issue 中。

jira_webhook

飞书项目触发器

可实现飞书工作项状态变更后自动触发 Zadig 工作流。

如何配置

第一步:在工作流中添加飞书项目触发器

编辑工作流,点击右侧的触发器 -> 选择 飞书项目触发器

工作流的触发 - 图23 工作流的触发 - 图24

填写参数后保存触发器配置。

jira_trigger

参数说明:

  • 工作流执行变量:希望被触发执行的任务,以及任务中的具体配置

复制 Webhook Url 后保存工作流。

jira_trigger

第二步: 在飞书项目中完成 Webhook 配置

点击 空间配置 -> 自动化 -> 新建规则,进入规则创建。

feishu_webhook

根据需要选择规则,并在操作中将操作类型设为 WebHook -> 填写 URL(即:第一步中保存的 Webhook Url)后保存规则。

feishu_webhook

使用效果

当满足条件的事件发生后会自动触发工作流执行,待工作流执行完成后,将会添加 Comment 到对应的 Issue 中。

jira_webhook

通用触发器

如何配置

点击右侧的 触发器 -> 选择 通用触发器 即可配置实现第三方 Webhook 触发工作流。

jira_trigger general_trigger general_trigger

参数说明:

  • 工作流执行变量:希望被触发执行的任务,以及任务中的具体配置

复制 Webhook Url,在第三方系统中完成添加。

general_webhook

调用开发者 OpenAPI 触发

通过调用 OpenAPI 来触发工作流,具体操作请参阅执行工作流