一. 钉钉机器人创建
登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群内.然后点击群右上角的"智能群助手"->“添加机器人”->“自定义”,记录该机器人的webhook值
安全设置必须选一个,选择自定义关键词,在这里我定义的是"数仓报警",后面凡是包含有数仓告警这四个字的都会触发
点击完成之后会生成类似下面的连接
https://oapi.dingtalk.com/robot/send?access_token=8793e3f4bb1f7844d64327e3505778d7ec0baa71bfb5901fcf1514d7xxxxxxx
测试一下是否可以发送报警信息:
curl 'https://oapi.dingtalk.com/robot/send?access_token=8793e3f4bb1f7844d64327e3505778d7ec0baa71bfb5901fcf1514d7xxxxxxx' -H 'Content-Type: application/json' -d '{"msgtype": "text","text": {"content": "数仓报警:数仓数据检验报警"}}'
二、测试样例
1.测试python脚本
import requests
import json
url = 'https://oapi.dingtalk.com/robot/send?access_token=8793e3f4bb1f7844d64327e3505778d7ec0baa71bfb5901fcf1514d7xxxxxxx'
headers = {
"Content-Type": "application/json",
"Chartset": "utf-8"
}
#要发送的文本是json格式
request_data = {
#此消息的类型为固定的text
"msgtype": "text",
"text": {
#消息的内容
"content": "数仓报警:python"
},
"at": {
#被@人的手机号
"atMobiles": [156xxxxxxxx]
#控制@所有人
#"isAtAll": True
}
}
#把json转变为字符串格式数据
send_data = json.dumps(request_data)
#这个是发送post请求,请求钉钉接口
response = requests.post(url=url,headers=headers,data=send_data)
#讲求成功后返回的数据
content = response.content