ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

禅道消息通知增加企业微信机器人WebHook支持

2022-03-19 14:02:12  阅读:712  来源: 互联网

标签:WebHook markdown mobile 微信 webhook text data 禅道


前段时间企业微信上线了机器人功能,支持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,如下:

 

 

保存后即可在企业微信群中接收禅道的消息通知,很方便实用。

 

 

标签:WebHook,markdown,mobile,微信,webhook,text,data,禅道
来源: https://www.cnblogs.com/testflogs/p/16026272.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有