項目需要,有些監控信息,需要推送到釘釘羣,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();
}
}