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

    一、配置

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

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

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

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

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

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

    二、示例

    1、钉钉

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

    8.2.12 集成webhook - 图1

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

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

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

    8.2.12 集成webhook - 图2

    1.2 添加群机器人

    8.2.12 集成webhook - 图3

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

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

    8.2.12 集成webhook - 图4

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

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

    8.2.12 集成webhook - 图5

    2、企业微信

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

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

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

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

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

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

    8.2.12 集成webhook - 图6

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

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

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

    8.2.12 集成webhook - 图7

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

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

    8.2.12 集成webhook - 图8

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

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

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

    8.2.12 集成webhook - 图9

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