集成webhook
简介:本文讲述如何在禅道中集成webhook。
禅道从9.6版本开始内置了集成webhook功能,可以在禅道内进行操作时发送 JSON 格式的数据到第三方hook地址,方便进行消息集成。下面介绍如何配置该功能。
一、配置
用超级管理员用户登录禅道,进入后台 => 通知 => webhook,点击【添加webhook】新增一个 webhook,如图:
名称和hook 地址为必填项,其余为选填项,hook 地址从第三方获取。
发送方式为同步时,在禅道内进行操作之后立刻发送消息给 hook 地址。发送方式为异步时则需要打开后台-计划任务 来定时发送。
关联产品和 关联项目为空时,对禅道内的所有操作都会发送给 hook 地址,否则只发送所选择的产品和项目相关的操作。
参数类型指发送的数据的属性,包括以下内容:
- {
- "objectType": "", //对象类型,可以为空
- "objectID": "", //对象ID,可以为空
- "product": "", //关联产品ID,可以为空
- "project": "", //关联项目ID,可以为空
- "action": "", //动作,可以为空
- "actor": "", //操作者,可以为空
- "date": "", //操作时间,可以为空
- "comment": "", //备注,可以为空
- "text": "" //操作内容,包含操作对象的url,必选。
- }
触发动作指进行何种操作时,向设定的 hook 地址发送消息,如果全部为空则不会发送任何消息。对禅道二次开发有一定了解的同学可以通过扩展 zentao/module/webhook/config.php 文件来修改此项内容。
二、示例
1、钉钉
在钉钉中通过下图两种方式添加机器人,选择【自定义机器人】,按照提示操作。机器人添加完成后,在禅道中添加一个类型为【钉钉】的webhook,填入从钉钉机器人获取的 webhook 地址,即可发送消息到钉钉。钉钉的消息发送方式默认为同步发送,不能修改。目前钉钉对自定义机器人发送消息的频率做了限制,每分钟最多发送20条消息。
禅道11.7版本,把类型为 钉钉 改为 钉钉群通知机器人。为了适应钉钉群机器人的安全设置,在添加页面增加了密钥。
需要钉钉群主到钉钉里做设置。下面我们具体介绍如何获取到钉钉群通知机器人的密钥。
1.1 钉钉群主登录钉钉桌面客户端,到群设置里,找到群机器人。
1.2 添加群机器人
点击添加群机器人,选择自定义类型。
目前钉钉群机器人支持自定义关键词、加签和IP地址(段)的安全设置。
禅道集成时,目前仅支持加签的方式,也就是把加签的安全设置的密钥复制,粘贴到禅道后台—通知—webhook的 钉钉群通知机器人类型的webhook的密钥栏里。
已添加的群机器人,在点击群机器人列表右侧的设置按钮,可以进如群机器人详情页面。
这样可以获取到webhook地址和加签安全设置的密钥。
2、企业微信
禅道11.7版本开始,webhook新增了企业微信类型。
可以和企业微信集成,禅道里的操作和消息可以发送到企业微信里。
2.1 添加“企业微信”类型的webhook
到禅道后台—通知—webhook里添加webhook,类型选择“企业微信”。
接下来,我们需要注册登录企业微信,获取webhook的地址。
获取“企业微信”的webhook地址,需要先登录企业微信官网。
注册企业微信,请按照要求填写企业基本信息和管理员信息。
注册登录成功后,可以到 我的企业 — 权限管理 里根据使用需要设置其他的管理员信息。
因为webhook地址的获取,只能企业微信的管理员才能获取和查看到。
手机下载企业微信APP, 企业微信的管理员登录,到企业微信的基本信息里,通过点击“群机器人”,来查看到webhook地址。
把这个webhook地址复制,填写到禅道后台—通知—webhook,添加“企业微信”类型的webhook的地址栏,点击保存即可。
添加成功的“企业微信”类型的webhook。
2.2 “企业微信”类型webhook的使用
可以根据禅道后台—通知—设置里,webhook通知的设置,集成了企业微信后,可以在企业微信里查看到禅道里相关的操作信息。
登录企业微信时,会收到禅道里设置动作的消息通知。
可以查看到详细的操作信息。