1、钉钉机器人报警-测试
钉钉机器人测试:https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
1.1、钉钉机器人报警-代码编写发送
1、钉钉发送报警-代码编写
1-1、此处举例是发送markdown形式的钉钉告警消息,其实相当于发送post请求
1-2、举例Demo:
HttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(webhookToken.trim());
//必须设置参数类型
httpPost.addHeader("Content-Type", "application/json; charset=utf-8");
StringBuilder sb = new StringBuilder();
sb.append(" { ");
sb.append(" \"msgtype\": \"markdown\", ");
sb.append(" \"markdown\": {\"title\":\"" + title + "\", ");
sb.append(" \"text\":\"" + content + "\" ");
sb.append(" } ");
sb.append(" } ");
StringEntity se = new StringEntity(sb.toString(), "utf-8");
httpPost.setEntity(se);
HttpResponse response;
try {
response = httpclient.execute(httpPost);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String result = EntityUtils.toString(response.getEntity(), "utf-8");
}
} catch (Exception e) {
}
1.2、钉钉机器人报警-测试-关键字测试
1、关键字测试:
curl 'https://oapi.dingtalk.com/robot/send?access_token=50c9ac8970dfc07dab6964acf35269c4b65163b27a0cbb421e7de52be9779f6a' \
-H 'Content-Type: application/json' \
-d '{"msgtype": "text","text": {"content": "质量测试报警, 我就是我, 是不一样的烟火"}}'
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
import requests
def send_msg(url, msg):
headerss = {'Content-Type': 'application/json; charset=utf-8'}
datas = {
"msgtype": "text",
"text": {
"content": "质量测试报警 %s" % msg
}
}
MessageBody = json.dumps(datas)
r = requests.post(url, data=MessageBody, headers=headerss)
return r.text
if __name__ == '__main__':
msg = 'ssssss'
url = 'https://oapi.dingtalk.com/robot/send?access_token=50c9ac8970dfc07dab6964acf35269c4b65163b27a0cbb421e7de52be9779f6a'
print(send_msg(url, msg))
1.3、钉钉机器人报警-测试-签名测试
1、签名测试:
1、先生成时间戳和签名:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
import time
import hmac
import hashlib
import base64
import urllib
timestamp = long(round(time.time() * 1000))
secret = 'SEC348845990c612ebf4ea91d4770d22da5725a3af9d72f337412c7bf9d46973545'
secret_enc = bytes(secret).encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = bytes(string_to_sign).encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.quote_plus(base64.b64encode(hmac_code))
print(timestamp)
print(sign)
2、postman post请求访问:
https://oapi.dingtalk.com/robot/send?access_token=50c9ac8970dfc07dab6964acf35269c4b65163b27a0cbb421e7de52be9779f6a
×tamp=1607591845428&sign=6kMzVvlWOdI5zNwTZI666uSTygV6%2FcPrHIlb6qBPaPI%3D
body:自定义发送的内容
{
"msgtype": "text",
"text": {
"content": "质量测试报警, 我就是我, 是不一样的烟火"
}
}
2、钉钉机器人报警内容格式化
待续......
3、钉钉开发文档
https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq