本文主要介绍如何在Projex中配置自动化规则并通过Webhook实现工作项的自动流转。
背景信息
在自动化规则中,支持联动三方平台进行协作的动作流转。如工作项的状态联动组织的审批系统工单流转。这种流转方式我们采用Webhook进行支持。
Webhook集成模板
目前支持字段变更或者源状态变更触发三方平台的动作。在自动化规则配置页面中,选择Webhook集成模板时,界面提供「字段变更触发Webhook」和「源状态变更触发Webhook」两种可选模板类型。
添加自动化规则
在添加自动化规则弹窗中填写各项 Webhook 配置参数后,可发起测试请求验证连通性,请求成功时表单下方显示绿色勾号及200 请求成功状态,并可单击再次请求重新测试。弹窗底部提供查看配置指南链接、取消和保存按钮。
|
触发Webhook参数 |
参数描述 |
|
Webhook URL |
Webhook请求地址,http:// 或 https:// 开头。 |
|
HTTP Method |
支持POST、GET。 |
|
Secret |
可选,用于对@Webhook请求进行校验。设置了Secret后,发起Webhook请求时,会增加请求头X-Projex-Signature,Value即为Secret的值。 |
|
Headers |
可选,支持设置请求头,如Content-Type:Application/json。 |
|
Webhook Body |
|
【工作项数据】为JSON对象【获取详细信息以OpenAPI:GetWorkitem - 获取工作项为准】,其中字段:
|
参数 |
类型 |
描述 |
|
- |
object |
|
|
assignedTo |
object |
负责人。 |
|
id |
string |
用户 id。 |
|
name |
string |
名称。 |
|
categoryId |
string |
工作项分类 id。 |
|
creator |
object |
创建者。 |
|
id |
string |
用户 id。 |
|
name |
string |
名称。 |
|
customFieldValues |
array |
自定义字段值。 |
|
- |
object |
|
|
fieldFormat |
string |
字段类型。 |
|
fieldId |
string |
字段 id。 |
|
fieldName |
string |
字段名称。 |
|
values |
array |
字段值。 |
|
- |
object |
|
|
displayValue |
string |
显示的名称。 |
|
identifier |
string |
值的唯一标识。 |
|
description |
string |
描述。 |
|
formatType |
string |
描述的格式,目前支持 RICHTEXT 和 MARKDOWN。 |
|
gmtCreate |
string |
创建时间。 |
|
gmtModified |
string |
修改时间。 |
|
id |
string |
工作项 id。 |
|
idPath |
string |
工作项 idPath。 |
|
labels |
array |
标签。 |
|
- |
object |
|
|
color |
string |
颜色。 |
|
id |
string |
id。 |
|
name |
string |
名称。 |
|
logicalStatus |
string |
逻辑状态, normal 为正常状态, archived 为归档状态。 |
|
modifier |
object |
最近更新者。 |
|
id |
string |
用户 id。 |
|
name |
string |
名称。 |
|
parentId |
string |
父工作项 id。 |
|
participants |
array |
参与人。 |
|
- |
object |
|
|
id |
string |
用户 id。 |
|
name |
string |
名称。 |
|
serialNumber |
string |
编号。 |
|
space |
object |
归属项目。 |
|
id |
string |
id。 |
|
name |
string |
名称。 |
|
sprint |
object |
迭代。 |
|
id |
string |
id。 |
|
name |
string |
名称。 |
|
status |
object |
状态类型 |
|
displayName |
string |
显示名称。 |
|
id |
string |
id。 |
|
name |
string |
名称。 |
|
nameEn |
string |
英文名称。 |
|
statusStageId |
string |
状态阶段 id。 |
|
subject |
string |
标题。 |
|
trackers |
array |
跟踪人。 |
|
- |
object |
|
|
id |
string |
用户 id。 |
|
name |
string |
名称。 |
|
updateStatusAt |
string |
状态更新时间。 |
|
verifier |
object |
验证者。 |
|
id |
string |
用户 id。 |
|
name |
string |
名称。 |
|
versions |
array |
版本。 |
|
- |
object |
|
|
id |
string |
id。 |
|
name |
string |
名称。 |
|
workitemType |
object |
工作项类型 |
|
id |
string |
id。 |
|
name |
string |
名称。 |
测试
配置完成后,可以点击“进行Webhook请求测试”,测试配置是否正确。
Projex的出口IP是:47.110.133.165,120.55.97.39。如果Webhook接收方需要设置网络安全白名单,请添加上述IP。