现在公司测试中有一个痛点是每次测试人员提完bug后,需要定期去提醒开发人员查看禅道的bug记录及修复bug。 导致测试人员在项目测试中不仅要测试整个软件,还要负起实时监督提醒功能的“保姆角色”,身心疲惫 。 公司现在使用的是钉钉办公沟通工具,发现此问题后进行了一些列的优化
一、创建钉钉机器人
在钉钉群设置那里创建一个机器人
记录下来机器人的webhook,后续对外接口调用均需要使用此webhook。使用python调用联调,看是否能实现消息发送及艾特人员功能,代码如下:
# -*- coding:UTF-8-*-
# Author: dx
from urllib import request
import jsonaccess_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消息提醒。 解决效率有了明显提升