钉钉群机器人发送消息代码详解
自动化测试中利用钉钉实现自动化测试结果消息推送,实现线上监控
原理:利用钉钉群自定义机器人功能,封装消息,推送到钉钉中,每个机器人每分钟最多发送20条
步骤:
- 选择机器人或者自定义机器人,完成添加,获得钉钉Hook地址,复制地址
任意一个钉钉群–> 群设置–> 添加机器人–> 自定义机器人命名–> 添加成功–> 获得地址及token
地址格式:https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx
PS:自定义机器人时需设计关键词,所需要发送的消息中必须包含关键词,才能指定发送成功 - 用户可以结合requests的模块,向该地址发起HTTP POST 请求,即可实现给该钉钉群发送消息。
request_url = Hook地址
request_type = POST
request_headers = headers={ “Content-Type”: “application/json” }
request_data的参数值取决于使用场景和钉钉发送消息的数据格式,不同的数据格式有不同的传参 - 根据自己的使用场景,选择不同的消息类型及数据格式,以便更好的了解测试结果
PS:当前自定义的机器人支持文本 (text)、链接 (link)、markdown(markdown)、ActionCard、FeedCard消息类型。如果想详细得到某一个类型的,需要提前配备与消息类型相匹配的传参数据:
text类型的传参及格式
参数及说明
代码实例:
import requests
request_url = Hook地址
request_type = POST
request_headers = headers={ “Content-Type”: “application/json” }
request_data = {“msgtype”: “text”,
“text”: { “content”: “我就是我, 是不一样的烟火” },
“at”: {“atMobiles”: [“156xxxx8827”,
“189xxxx8325”],
“isAtAll”: false}}
res = requests.post(request_url, data=json.dump(request_data), headers=request_headers)
结果图示:
link类型的传参及格式
参数及说明
代码实例:
{ “msgtype”: “link”,
“link”: { “text”: “这个即将发布的新版本,创始人陈航(花名“无招”)称它为“红树林”。
而在此之前,每当面临重大升级,产品经理们都会取一个应景的代号,这一次,为什么是“红树林”?”,
“title”: “时代的火车向前开”,
“picUrl”: “”,
“messageUrl”: “https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI” }}
结果图示:
更多类型移步:https://www.cnblogs.com/tjp40922/p/11299023.html