项目需要,有些监控信息,需要推送到钉钉群,Java实现,参考官方文档,整个工具类。
package com.my.tool.utils;
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiRobotSendRequest;
import com.dingtalk.api.response.OapiRobotSendResponse;
import java.util.Arrays;
/**
* @Author: 技术大咖秀
* @Date: 2020/5/12 9:50
*/
public class DingTalkUtil {
protected static final String WEB_HOOK_ACCESS_BIG_DATA = "https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXXXXXXXXXXXXXXX";
public static void sendText(){
try {
DingTalkClient client = new DefaultDingTalkClient(WEB_HOOK_ACCESS_BIG_DATA);
OapiRobotSendRequest request = new OapiRobotSendRequest();
request.setMsgtype("text");
OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();
text.setContent("【监控预警】采集报错!");
request.setText(text);
OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();
at.setAtMobiles(Arrays.asList("18xxxxxxx3"));
// isAtAll类型如果不为Boolean,请升级至最新SDK
at.setIsAtAll(false);
request.setAt(at);
OapiRobotSendResponse response = client.execute(request);
} catch (Exception e){
e.printStackTrace();
}
}
public static void sendLink(){
try {
DingTalkClient client = new DefaultDingTalkClient(WEB_HOOK_ACCESS_BIG_DATA);
OapiRobotSendRequest request = new OapiRobotSendRequest();
request.setMsgtype("link");
OapiRobotSendRequest.Link link = new OapiRobotSendRequest.Link();
link.setMessageUrl("https://www.dingtalk.com/");
link.setPicUrl("");
link.setTitle("时代的火车向前开");
link.setText("监控,这个即将发布的新版本,创始人xx称它为红树林。而在此之前,每当面临重大升级,产品经理们都会取一个应景的代号,这一次,为什么是红树林");
request.setLink(link);
OapiRobotSendResponse response = client.execute(request);
} catch (Exception e){
e.printStackTrace();
}
}
public static void sendMarkDown(){
try {
DingTalkClient client = new DefaultDingTalkClient(WEB_HOOK_ACCESS_BIG_DATA);
OapiRobotSendRequest request = new OapiRobotSendRequest();
request.setMsgtype("markdown");
OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown();
markdown.setTitle("杭州天气监控");
markdown.setText("#### 杭州天气 @156xxxx8827\n" +
"> 9度,西北风1级,空气良89,相对温度73%\n\n" +
"> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n" +
"> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n");
request.setMarkdown(markdown);
OapiRobotSendResponse response = client.execute(request);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
sendMarkDown();
}
}