使用钉钉对接禅道的bug系统,实现禅道提的bug实时在钉钉提醒并艾特对应的开发人员处理
现在公司测试中有一个痛点是每次测试人员提完bug后,需要定期去提醒开发人员查看禅道的bug记录及修复bug。 导致测试人员在项目测试中不仅要测试整个软件,还要负起实时监督提醒功能的“保姆角色”,身心疲惫 。 公司现在使用的是钉钉办公沟通工具,发现此问题后进行了一些列的优化
一、创建钉钉机器人
在钉钉群设置那里创建一个机器人
记录下来机器人的webhook,后续对外接口调用均需要使用此webhook。使用python调用联调,看是否能实现消息发送及艾特人员功能,代码如下:
# -*- coding:UTF-8-*- # Author: dx from urllib import request import json access_token = "xxx" def send_msg(mobile, item_name): """ 钉钉机器人API接口地址: https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.karFPe&treeId=257&articleId=105735&docType=1 :param mobile: :param itemName: :return: """ url = "https://oapi.dingtalk.com/robot/send?access_token=" + access_token # 钉钉中webhook的值进行拼接 data = { "msgtype": "text", "text": { "content": item_name }, "at": { "atMobiles": [ mobile ], "isAtAll": "false" } } # 设置编码格式 json_data = json.dumps(data).encode(encoding='utf-8') print(json_data) header_encoding = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko', "Content-Type": "application/json"} req = request.Request(url=url, data=json_data, headers=header_encoding) res = request.urlopen(req) res = res.read() print(res.decode(encoding='utf-8')) if __name__ == "__main__": mobile = "*******" # 需要艾特的人员钉钉对应的手机号码 item_name = "test" send_msg(mobile, item_name)
二、禅道设置
1、在禅道中设置对应的项目,进入消息页面设置webhook及对应的消息触发策略
2、将禅道项目与钉钉绑定
3、设置完成后,在禅道对应项目下提交bug时,会触发禅道对应钉钉的接口,实现禅道将bug信息推送到钉钉的项目组群中,并艾特对应的开发人员
这样整体就完成了,开发人员实时能在群中收到bug消息提醒。 解决效率有了明显提升