蝉道二次开发与钉钉机器人对接

您所在的位置:网站首页 sentinel二次开发 蝉道二次开发与钉钉机器人对接

蝉道二次开发与钉钉机器人对接

2023-02-22 11:54| 来源: 网络整理| 查看: 265

一、需求及分析过程

痛点:蝉道中单据(如:bug)填写不规范,需要筛选数据后再大量时间与当时人沟通,费时费力,如果设置为必填字段,会对其他业务线造成阻碍,只能单独拉取并通知相关人员。

需求:将特定项目中填写不规范的bug发送钉钉群并@当事人

需求分析:

分析需求所需内容,bug链接,当事人姓名分析蝉道bug链接组成和当事人姓名,固定链接+bugid+固定链接,当事人姓名需维护蝉道中当事人信息的电话号或钉钉id本地部署开源版蝉道,连接数据库(我使用了xampp部署)若判断的【字段a】和【字段b】是已存在的字段则可直接后续查询使用,若是未存在的字段则需在相关页面进行维护(一般情况下新建,编辑,查询页面均要进行维护)数据库中查询在【该项目下】,【字段a】和【字段b】任意一个字段未填写,且未删除的bugID(没有该类型的数据进行造数,方便后期调试使用)判断是否拿到数据,若拿到数据则输出相关数据的bugid及对应的负责人用bugid生成bug链接,用对应负责人相关信息在user表中查询电话号或钉钉id(我使用的是电话号)对应群组下创建自定义钉钉机器人调用钉钉机器人,按预期格式输出相关链接并@对应负责人调试完成后,用定时任务每天定时执行 二、蝉道代码位置了解及本地部署 蝉道官网下载开源版的蝉道代码,安装对应php版本的xampp 

蝉道官网icon-default.png?t=N176https://www.zentao.net/

将蝉道开源代码文件放到htdocs文件下,代码中数据库配置要修改正确(config文件下的my.php)

后将蝉道数据库结构导出,导入到xampp数据库中,启动xampp,若遇启动问题,百度解决(mysql启动不起来,需关闭本地的sql或端口号被占用,更换端口号【代码中对应更改】停止对应端口号)蝉道所使用的zentaoPHP框架可在相关文档中学习了解

        关于zentaoPHP框架     ,后续代码我是直接在对应模块的control.php下增加的,不想改动源码也可了解下该框架的扩展机制

扩展icon-default.png?t=N176https://devel.easycorp.cn/book/extension-new/intro-52.html

三、编写查询代码 我本次是要查询bug相关数据,所以在bug模块的control.php中添加代码 function getWarningBugs() { $executionList = [0,1];//所要查询的模块id $bugs = $this->dao->select('id,title,assignedTo')//在bug表中搜索符合条件的bugid、主题、指派人 ->from('zt_bug') ->where('execution')->in($executionList) ->andwhere() ->markleft(1) ->where('字段a')->eq('') ->orwhere('字段b')->eq('') ->markright(1) ->andwhere('deleted')->eq('0') ->fetchGroup('assignedTo');//按assignedto分组输出 $keys = array_keys($bugs); $phone = $this->dao->select('mobile')//根据输出的assignedto在user表中查找电话号码 ->from('zt_user') ->where('account')->in($keys) ->fetchAll(); $n = 0; if ($bugs != '')//判断是否不为空 { foreach ($bugs as $value)//在第一维数组下循环 { $ownerphone = $phone[$n]->mobile;//拿去每一个电话号 $n++;//递增 for ($i=0; $iid; $data = ([ 'msgtype' => 'markdown', 'markdown' => [ "title"=>$bugid, "text"=>" @".$ownerphone ." \n 您有线上bug的字段a/字段b未维护,请尽快处理,具体bug链接如下: \n $titlelinks \n " ], 'at' => [ 'atMobiles' => [$ownerphone], 'isAtAll' => false ] ]); $data_string = json_encode($data); echo $data_string; $result = $this->request_by_curl($webhook, $data_string); echo $result; 调试查看效果

 加入蝉道定时任务

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3