禅道消息通知增加企业微信机器人WebHook支持 11.6.5版本
zentao12.5版本后已集成企业微信webhook
前段时间企业微信上线了机器人功能,支持WebHook协议进行消息推送。因为我们团队一直使用禅道进行任务管理,所以在第一时间将企业微信的支持添加到了禅道中。
准备
首先我们要安装一个禅道,版本不限,我是从最新版进行修改的。防止修改出现问题,在修改前备份以下目录:
F:\xampp\zentao\module\webhook
zentaopms/module/webhook
养成修改前备份的好习惯:)
动手
本次修改只需修改webhook目录中的文件即可,我们先在model.php中增加对企业微信的支持,添加如下代码:
/** * Get hook data for WorkWx. * * @param string $title * @param string $text * @param string $mobile * @access public * @return object */ public function getWorkWxData($title, $text, $mobile, $user, $viewLink) { if($user) $text .= "\n>@{$user}"; $data = new stdclass(); $data->msgtype = 'markdown'; $markdown = new stdclass(); $markdown->content = "{$text}"; if($mobile) { $markdown->mentioned_mobile_list = array($mobile); } $data->markdown = $markdown; return $data; }
然后再在发送的地方增加该类型的支持:
if($webhook->type == 'dingding') { $data = $this->getDingdingData($title, $text, $mobile, $targetName, $viewLink); } elseif($webhook->type == 'bearychat') { $data = $this->getBearychatData($text, $mobile, $email, $objectType, $objectID); } elseif($webhook->type == 'workwx') { //增加企业微信支持 $data = $this->getWorkWxData($title, $text, $mobile, $targetName, $viewLink); }
好,添加以上代码之后我们的企业微信支持已经完成了一小半了。继续把界面中下拉值的地方进行修改。前往module/webhook/lang,找到对应系统语言,在该目录中全局搜索“webhook->type”,参照dingding,bearychat的方式增加一个“workwx”即可。由于过程过于简单,截图展示:
zh_cn
zh_tw
en
到此已经修改完毕,保存好代码并且覆盖webhook目录。
配置
我们先创建一个机器人。具体步骤请参照官方文档:群机器人配置说明创建完成后,我们得到了一个Webhook地址。
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=46090091-7e5e-4c61-bd1c-d2accab8caxx(这个地址只用于测试)
然后我们用禅道的管理员帐号进入到”后台》通知》WebHook”界面,添加一个企业微信的WebHook,如下:

保存后即可在企业微信群中接收禅道的消息通知,很方便实用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库