目录
禅道接入钉钉工作通知与钉钉群机器人
一、钉钉工作通知使用步骤
1.进入钉钉管理后台工作台添加自建应用进入开发者平台
2.禅道中得操作
3.接收到消息
二、钉钉群机器人使用步骤
1.钉钉群进行设置群机器人
2.禅道设置
三、禅道二次开发添加新功能进行工作通知和群机器人通知
1.先在action语言文件中添加动作
2.添加新字段到config文件
3.接下来会在禅道后台消息中出现。只要勾选即可收到消息。
总结
禅道接入钉钉工作通知与钉钉群机器人
一、钉钉工作通知使用步骤
1.进入钉钉管理后台工作台添加自建应用进入开发者平台
1.1填写小程序应该对应消息,按照规则进行填写就可
1.2获得钉钉应用凭证Agentid,AppKey,AppSecret
1.3进入开发管理进行服务器IP设置。填写禅道所在得外网IP
1.4权限管理,添加钉钉通讯录只读权限并作用于所有员工
2.禅道中得操作
1.打开禅道后台消息中添加Webhook ,将从钉钉管理后台获取刀得应用凭证填写进禅道中
2.将钉钉用户与禅道用户相关联
3.接收到消息
二、钉钉群机器人使用步骤
1.钉钉群进行设置群机器人
选择智能群助手,添加机器人,选择自定义机器人。
填写相关信息。注意安全设置。就是禅道发送消息来得时候必要要带得关键字。不带就发送不了
点击完成后,就会获得一个webhook得地址和加签得信息。如此钉钉这边得设置已经完成。接下来就是禅道设置了
2.禅道设置
跟工作通知一样。进入禅道后台消息webhook 添加webhook。不过再添加得时候选择钉钉机器人。
将钉钉群里面得机器人地址和加签密钥填入禅道中即可
收到消息。机器人可艾特群里的人。后面会讲解详细操作步骤
三、禅道二次开发添加新功能进行工作通知和群机器人通知
1.先在action语言文件中添加动作
下面代码例子:我是用来使用添加新的功能
// 用来描述操作历史记录
$lang->action->desc->isrequest = '$date, 由 <strong>$actor</strong> 请求协助 <strong>$extra</strong>。' . "\n";
// 用于在后台消息中显示钩子条件
$lang->action->label->isrequest = "请求协助";
// 用来在动态显示中显示动作
$lang->action->search->label['isrequest'] = $lang->action->label->isrequest;
2.添加新字段到config文件
下面代码例子:用来触发条件
同理,webhook也要加上
$config->webhook->objectTypes['bug'] = array('opened', 'edited', 'commented', 'assigned', 'confirmed', 'bugconfirmed', 'resolved', 'closed', 'activated','isrequest');
3.接下来会在禅道后台消息中出现。只要勾选即可收到消息。
总结
说下禅道发送钉钉消息得原理。先把前面得配置好。后面就是在每个方法里面都会一个action 得日志create方法。在这个方法里面就进行了配置判断。如果符合发送得条件则会到webhook方法中去。
简单贴下图。
先举个列子:比如我新加得一个方法。想要进行钉钉消息通知。那么我在配置完上述得凭证之后。只要在方法中调用action模块得create方法就可。如果要群机器人艾特某人,就把人名传过去。
在这个方法打个debug就能很清楚得知道。
action模块中model文件中得create。关键在于message中得send方法
我们继续往下跟,我们可以看到message模块中send方法。其中第一个红框处得位置就是我们之前在action得语言文件中,message得config文件再加webhook得config文件中所配置得新功能方法名(需要注意得是,配置文件中得名字必须小写)
在这个地方就进行了条件得筛选。
继续跟,到webhook中得send方法,buildData方法就是整合需要发送得数据。
有不明白得可在文章后留言,博主看到会给大家解惑。
就到这结束了,由于第一次写这样得文档。可能很多地方表述不到位,希望大家多多包涵,共同进步。