集成webhook

简介:本文讲述如何在禅道中集成webhook。

禅道从9.6版本开始内置了集成webhook功能,可以在禅道内进行操作时发送 JSON 格式的数据到第三方hook地址,方便进行消息集成。下面介绍如何配置该功能。

一、配置

用超级管理员用户登录禅道,进入后台 => 通知 => webhook,点击【添加webhook】新增一个 webhook,如图:8.2.12 集成webhook - 图1

名称hook 地址为必填项,其余为选填项,hook 地址从第三方获取。

发送方式为同步时,在禅道内进行操作之后立刻发送消息给 hook 地址。发送方式为异步时则需要打开后台-计划任务 来定时发送。

关联产品关联项目为空时,对禅道内的所有操作都会发送给 hook 地址,否则只发送所选择的产品和项目相关的操作。

参数类型指发送的数据的属性,包括以下内容:

  1. {
  2. "objectType": "", //对象类型,可以为空
  3. "objectID": "", //对象ID,可以为空
  4. "product": "", //关联产品ID,可以为空
  5. "project": "", //关联项目ID,可以为空
  6. "action": "", //动作,可以为空
  7. "actor": "", //操作者,可以为空
  8. "date": "", //操作时间,可以为空
  9. "comment": "", //备注,可以为空
  10. "text": "" //操作内容,包含操作对象的url,必选。
  11. }

触发动作指进行何种操作时,向设定的 hook 地址发送消息,如果全部为空则不会发送任何消息。对禅道二次开发有一定了解的同学可以通过扩展 zentao/module/webhook/config.php 文件来修改此项内容。

二、示例

1、钉钉

在钉钉中通过下图两种方式添加机器人,选择【自定义机器人】,按照提示操作。机器人添加完成后,在禅道中添加一个类型为【钉钉】的webhook,填入从钉钉机器人获取的 webhook 地址,即可发送消息到钉钉。钉钉的消息发送方式默认为同步发送,不能修改。目前钉钉对自定义机器人发送消息的频率做了限制,每分钟最多发送20条消息。

8.2.12 集成webhook - 图2

8.2.12 集成webhook - 图3

禅道11.7版本,把类型为 钉钉 改为 钉钉群通知机器人。为了适应钉钉群机器人的安全设置,在添加页面增加了密钥。

需要钉钉群主到钉钉里做设置。下面我们具体介绍如何获取到钉钉群通知机器人的密钥。

1.1 钉钉群主登录钉钉桌面客户端,到群设置里,找到群机器人。

8.2.12 集成webhook - 图4

8.2.12 集成webhook - 图5

1.2 添加群机器人

点击添加群机器人,选择自定义类型。

8.2.12 集成webhook - 图6

8.2.12 集成webhook - 图7

目前钉钉群机器人支持自定义关键词、加签和IP地址(段)的安全设置。

禅道集成时,目前仅支持加签的方式,也就是把加签的安全设置的密钥复制,粘贴到禅道后台—通知—webhook的 钉钉群通知机器人类型的webhook的密钥栏里。

8.2.12 集成webhook - 图8

8.2.12 集成webhook - 图9

已添加的群机器人,在点击群机器人列表右侧的设置按钮,可以进如群机器人详情页面。

这样可以获取到webhook地址和加签安全设置的密钥。

8.2.12 集成webhook - 图10

2、企业微信

禅道11.7版本开始,webhook新增了企业微信类型。

可以和企业微信集成,禅道里的操作和消息可以发送到企业微信里。

2.1 添加“企业微信”类型的webhook

到禅道后台—通知—webhook里添加webhook,类型选择“企业微信”。

接下来,我们需要注册登录企业微信,获取webhook的地址。

8.2.12 集成webhook - 图11

获取“企业微信”的webhook地址,需要先登录企业微信官网

注册企业微信,请按照要求填写企业基本信息和管理员信息。

8.2.12 集成webhook - 图12

注册登录成功后,可以到 我的企业 — 权限管理 里根据使用需要设置其他的管理员信息。

因为webhook地址的获取,只能企业微信的管理员才能获取和查看到。

8.2.12 集成webhook - 图13

手机下载企业微信APP, 企业微信的管理员登录,到企业微信的基本信息里,通过点击“群机器人”,来查看到webhook地址。

8.2.12 集成webhook - 图14

把这个webhook地址复制,填写到禅道后台—通知—webhook,添加“企业微信”类型的webhook的地址栏,点击保存即可。

8.2.12 集成webhook - 图15

添加成功的“企业微信”类型的webhook。

8.2.12 集成webhook - 图16

2.2 “企业微信”类型webhook的使用

可以根据禅道后台—通知—设置里,webhook通知的设置,集成了企业微信后,可以在企业微信里查看到禅道里相关的操作信息。

8.2.12 集成webhook - 图17

登录企业微信时,会收到禅道里设置动作的消息通知。

8.2.12 集成webhook - 图18

可以查看到详细的操作信息。

8.2.12 集成webhook - 图19