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