1 2 3 4

钉钉机器人集成Jenkins推送消息模板自定义发送报告

 


  一、由于公司同样也使用了钉钉。那么在做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);

实际效果如下,大家看我们的报告一般也就是关心我们成功多少、失败多少、失败率多少,钉钉直接推送这些相关信息就可以了。

 

有喜欢的同学,可以也做做看。

 



 

posted @ 2019-02-01 14:43  玩出梦想  阅读(6174)  评论(2编辑  收藏  举报