工作流触发器

简介

本文主要介绍自定义工作流的触发器功能,包括:

  • Git 触发器:代码变更后自动触发工作流
  • 定时器:定时触发工作流
  • JIRA 触发器:JIRA 问题状态变更后自动触发工作流
  • 飞书项目触发器:飞书项目状态变更后自动触发工作流
  • 通用触发器:任意第三方系统通过 Webhook 自动触发工作流

产品工作流中支持 Git 触发器和定时器,具体使用可参考文档:产品工作流触发器操作产品工作流定时器操作

Git 触发器

提示

  1. 为工作流配置触发器,当满足触发条件的事件发生时会自动触发工作流执行。
  2. 支持的代码源请参考文档:代码源信息
  3. 支持自动创建和手动创建两种方式,二者的区别如下:
    • 自动创建:在工作流中配置触发器参数即可,Zadig 会自动在对应代码库中创建 Webhook,适用于代码源集成账号对代码库有创建 Webhook 权限的场景。
    • 手动创建:先在代码库中配置 Webhook,再在 Zadig 中配置触发器参数,适用于代码源集成账号对代码库没有创建 Webhook 权限的场景。

自动创建

点击工作流右侧的 触发器

工作流触发器

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

工作流触发器 - 图2 工作流触发器 - 图3

参数说明:

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

手动创建

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

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

工作流触发器 - 图4 工作流触发器 - 图5

  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 中的相关配置后保存即可。

定时器

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

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

参数说明:

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

JIRA 触发器

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

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

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

工作流触发器 - 图10 工作流触发器 - 图11

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

jira_trigger

参数说明:

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

复制 Webhook Url 后保存工作流。

jira_trigger

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

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

工作流触发器 - 图14 工作流触发器 - 图15

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

提示

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

jira_webhook

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

jira_webhook

飞书项目触发器

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

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

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

工作流触发器 - 图18 工作流触发器 - 图19

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

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