一、效果展示
1. 配置Webhook
2. 企业微信告警
二、项目源码
GitHub - xiaoyu-peng/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
代码示例
SendWeChatUtils msgUtils = new SendWeChatUtils();
try {
String postData;
String resp;
String alarmWei = info.getAlarmWei().trim();
if (alarmWei.startsWith("https://qyapi.weixin.qq.com/cgi-bin/webhook/send")) {
// 当 AlarmWei 为 Webhook地址
postData = msgUtils.createPostData(null, null, "markdown", 1000011, "content", content);
resp = msgUtils.post("utf-8", SendWeChatUtils.CONTENT_TYPE, alarmWei, postData, SendWeChatUtils.token);
} else {
// 当 AlarmWei 为 "例:user1|user2&&party1|party2,不发给部门省略&&以及后面,多个对象|分隔"
String agentid = alarmWei;
String toparty = "";
if (agentid.contains("&&")) {
String str[] = agentid.split("&&");
agentid = str[0];
if (str.length > 1) {
toparty = str[1];
}
}
postData = msgUtils.createPostData(agentid, toparty, "markdown", 1000011, "content", content);
resp = msgUtils.post("utf-8", SendWeChatUtils.CONTENT_TYPE, (new IacsUrlDataVo()).getSendMessage_Url(), postData, SendWeChatUtils.token);
}
logger.info("请求数据======>{}", postData);
logger.info("发送微信的响应数据======>{}", resp);
} catch (IOException e) {
logger.error(">>>>>>>>>>> xxl-job, job fail alarm wei send error, JobLogId:{}", jobLog.getId(), e);
alarmResult = false;
}