一、由于公司同样也使用了钉钉。那么在做Jenkins集成自动化部署的时候,也是可以集成钉钉的。
那种Jenkins下载钉钉插件集成,简单设置就可以完成了。我们今天要做的是,定制化的发送消息。
钉钉推送的优点:
1、及时性
2、有效性
3、便于大家时时查看
二、实现方式(curl 或者java程序)
2.1、使用命令行工具curl简单实现
// access_token是自己设置以后,钉钉会给你生成的一个token,直接复制粘贴即可。
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
-H 'Content-Type: application/json' \
-d '
{"msgtype": "text",
"text": {
"content": "我就Jenkins机器人,通知消息的~"
}
}' 打开钉钉,就可以看到钉钉通知消息了,很简单吧~
2.2、java程序实现推送自定义消息
本次选用的是md语法的推送自定义消息。
//我这边是解析生成的HTML报告,截取所有的pass、fail、skip、duration、passRate并发送钉钉推送消息提醒
MarkdownMessage message1 = new MarkdownMessage();
message1.setTitle("API自动化测试通知消息");
message1.add(MarkdownMessage.getHeaderText(3, "API自动化测试通知消息,结果如下:"));
message1.add(MarkdownMessage.getItalicText(mail_subject));
message1.add("\n\n");
ArrayList<String> orderList = new ArrayList<String>();
orderList.add("**Duration: " + Duration_1 + "s**");
orderList.add("**Passed: " + Passed_1 +"**");
orderList.add("**Skipped: " + Skipped_1 + "**");
orderList.add("**Failed: " + failed_1 + "**");
orderList.add("**Pass Rate: " + passRate_1 + "**");
message1.add(MarkdownMessage.getOrderListText(orderList));
message1.add("\n\n");
SendResult result = client.send(dingding.chatbot.demo.TestConfig.CHATBOT_WEBHOOK, message1); 实际效果如下,大家看我们的报告一般也就是关心我们成功多少、失败多少、失败率多少,钉钉直接推送这些相关信息就可以了。
有喜欢的同学,可以也做做看。