设置通用Webhook订阅
操作场景
CodeArts支持自定义消息通知,将用户操作所产生的事件,以HTTP协议发送给第三方平台。
可配置的服务及事件类型如下表所示。
约束与限制
- 仅IPD类项目支持本功能。
前提条件
已新建CodeArts项目,在项目中的角色为“项目管理员”或“项目经理”。
新建Webhook订阅
- 进入CodeArts首页。
- 登录CodeArts控制台,单击
,根据需要选择已开通CodeArts的区域。 - 单击“前往工作台”。
如果当前账号采用的是历史计费模式(详情请参见历史计费模式说明),则单击“立即使用”。
- 登录CodeArts控制台,单击
- 单击目标项目名称,进入项目。
- 在导航中依次单击“设置 > 通用设置 > 通知设置”,进入通知设置页面。
- 选择“通用webhook”页签。
- 选择需要配置通知的服务,单击“新建Webhook订阅”。
- 根据实际需要完成参数配置,单击“确定”。
图1 新建webhook
表2 新建Webhook订阅 参数
说明
订阅事件名称
通用Webhook的名称。
URL
HTTP Server的接收请求的URL地址,当前只支持使用POST方式接收。
事件类型
触发通用Webhook通知的事件类型,支持的事件类型参考表1。
HTTP请求头
通用Webhook通知的HTTP请求头。此参数为可选参数,请根据需要配置。
HTTP请求头是HTTP协议中定义的一种规范。
服务在对应的事件发生时,会调用用户配置的URL。调用URL时,有可能会需要同时携带HTTP请求头(例如用来鉴权)。
HTTP请求头的格式一般为“key: value”,例如:Content-Type: application/json。
一次请求可以发送多个请求头,当发送多个请求头时,通过换行分隔,每一行代表一个请求头。
单个请求头最大长度100,最多可输入20个请求头。
了解更多HTTP请求头相关知识,请参考HTTP官网文档。
自定义模板
通过自定义模板设置请求Body,可使用“${}”动态定义参数(例如“${eventName}”表示事件名),可支持参数请参考事件数据结构说明。
操作成功后,页面中显示新建的Webhook订阅记录。
事件数据结构说明
- 需求管理:
表3 需求管理服务动态定义参数表 动态参数
说明
${project.id}
项目ID
${project.url}
项目url
${issue.id}
工作项ID
${issue.title}
工作名称
${issue.url}
工作项url
${operator.username}
操作用户名
${operator.id}
操作人ID
${review.id}
评审单ID
${review.title}
评审单标题
${review.url}
评审单url
${operation}
事件名称
${event.id}
事件ID
${event.time}
事件时间
- 流水线
流水线服务参数的调用方式为“${pipeline.参数名}”,例如:调用流水线ID“${pipeline.pipeline_id}”。
流水线服务提供的可调用参数如下。{ "pipeline": { "pipeline_id": "", //流水线ID "run_number": "", //流水线执行编号 "project_id": "", //流水线所属项目ID "run_id": "", //流水线执行ID "timestamp": "", //流水线执行时间戳 "trigger_type": "", //流水线触发类型 "name": "" //流水线名称 } }