钉钉群机器人发送消息代码详解

自动化测试中利用钉钉实现自动化测试结果消息推送,实现线上监控

原理:利用钉钉群自定义机器人功能,封装消息,推送到钉钉中,每个机器人每分钟最多发送20条

步骤:

  1. 选择机器人或者自定义机器人,完成添加,获得钉钉Hook地址,复制地址
    任意一个钉钉群–> 群设置–> 添加机器人–> 自定义机器人命名–> 添加成功–> 获得地址及token
    地址格式:https://oapi.dingtalk/robot/send?access_token=xxxxxxxx
    PS:自定义机器人时需设计关键词,所需要发送的消息中必须包含关键词,才能指定发送成功
  2. 用户可以结合requests的模块,向该地址发起HTTP POST 请求,即可实现给该钉钉群发送消息。
    request_url = Hook地址
    request_type = POST
    request_headers = headers={ “Content-Type”: “application/json” }
    request_data的参数值取决于使用场景和钉钉发送消息的数据格式,不同的数据格式有不同的传参
  3. 根据自己的使用场景,选择不同的消息类型及数据格式,以便更好的了解测试结果
    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/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://wwwblogs/tjp40922/p/11299023.html

更多推荐

钉钉机器人发送消息代码详解