springboot整合企微webhook机器人发送消息提醒
作者:刨红薯的小羊竿尔 发布时间:2023-10-10 01:29:08
标签:springboot,webhook,企微,机器人,发送消息
一、获取企业微信群机器人 Webhook 地址
业务需要在企业微信推送告警监控或者定时提醒业务,就可以使用企业微信自带的机器人工具Webhook reboot作为消息的发起者!
打开手机端企业微信App,打开一个内部群聊,点击右上角图标进入到群聊设置,来到群机器人页面添加群机器人,设置群机器人昵称点击添加,机器人添加完成后出现的页面,请点击 Webhook 地址后的复制按钮;注意一般只有群主才有对应的权限哦。
二、Webhook支持消息类型
文本消息
图片消息
文本卡片消息
图文消息(批量)
markdown消息
三、Webhook使用配置
1.添加maven依赖
<dependency>
<groupId>io.github.swalikh</groupId>
<artifactId>wework-wehook-starter</artifactId>
<version>1.0.0</version>
</dependency>
2.配置webhook地址api
spring:
message:
wechat-webhooks:
- https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx
- https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx
3.注入MessageService并且发送消息
@Autowired
private MessageService messageService;
1.发送普通文本消息
WeWorkWebhookMessage wessage = WeWorkWebhookMessage.buildText("hello");
messageService.send(weWorkWebhookMessage);
2.发送图片(本地或者网络图片均可发送)
// networkImage 和 localImage 均可,格式可支持jpg&png
String networkImageUrl = "https://xxxxx/images/20210918100245.png";
String localImageFilePath = "/home/image/cat.png";
WeWorkWebhookMessage imageMessage =
WeWorkWebhookMessage.buildImageMessage(networkImageUrl);
messageService.send(imageMessage);
3.发送图文卡片消息(本地或者网络图片均可发送)
// networkImage 和 localImage 均可,格式可支持jpg&png
String networkImageUrl = "https://xxxx/images/20210918100245.png";
Article article = new Article()
.setTitle("这是卡片的标题")
.setUrl("http://www.google.com/这是点击的链接地址")
.setPicurl(networkImageUrl)
.setDescription("这是描述文字");
WeWorkWebhookMessage articleMessage =
WeWorkWebhookMessage.buildNewsMessage(article);
messageService.send(articleMessage);
4.发送markdown消息
MarkdownBuffer markdownBuffer = new MarkdownBuffer();
markdownBuffer.h2("H2").nextLine()
.h3("H3").nextLine()
.quote("quote").quoteEnd()
.green("greenText").nextLine()
.orange("orangeText").nextLine()
.gray("grayText").nextLine()
.code("single line code").nextLine()
.link("link title","line URL").nextLine();
WeWorkWebhookMessage markDownMessage =
WeWorkWebhookMessage.buildMarkDownMessage(markdownBuffer);
messageService.send(markDownMessage);
四、dynamic-tp动态线程池框架告警集成了webhook机器人
yml配置:
public void send(NotifyPlatform platform, String text) {
String serverUrl = WechatNotifyConst.WECHAT_WEH_HOOK + platform.getUrlKey();
MarkdownReq markdownReq = new MarkdownReq();
markdownReq.setMsgtype("markdown");
MarkdownReq.Markdown markdown = new MarkdownReq.Markdown();
markdown.setContent(text);
markdownReq.setMarkdown(markdown);
try {
HttpResponse response = HttpRequest.post(serverUrl).body(JSONUtil.toJsonStr(markdownReq)).execute();
if (Objects.nonNull(response)) {
log.info("DynamicTp notify, wechat send success, response: {}, request:{}",
response.body(), JSONUtil.toJsonStr(markdownReq));
}
} catch (Exception e) {
log.error("DynamicTp notify, wechat send failed...", e);
}
}
来源:https://juejin.cn/post/7159866205375840292


猜你喜欢
- 前言在前面的2个章节中,一一哥 带大家实现了在Spring Security中添加图形验证码校验功能,其实Spring Security的功
- 目录前言准备工作Nacos安装及使用入门准备三个SpringBoot服务,引入Nacos及Kafka业务解读Nacos配置创建配置读取配置监
- 在学习c++的过程中,也曾经学习java,就发现java有类的嵌套,而看的c++的书,从来没有哪个讲c++的类可以嵌套,于是就试了一下,看是
- 在默认情况下,对象的Equals(object o)方法(基类Object提供),是比较两个对象变量是否引用同一对象。我们要必须我自己的对象
- spring cloud gateway获取请求的真实地址在使用spring cloud gateway的时候,路由一般配置为服务名例如 l
- 1、获取Class对象在 Java API 中,提供了获取 Class 类对象的三种方法:第一种,使用 Class.forName 静态方法
- 最近做了一个小工具,在Winform中对Picture控件有一个需求,可以通过鼠标从外部拖拽图片到控件的上,释放鼠标,显示图片!首先你需要对
- Spring整合Myabtis思路的分析引入相关依赖SpringMyabtismysqlMybatsi-spring…
- 场景:最新的leakCanary2.8.1:debugImplementation 'com.squareup.leakcanary
- Android 实现会旋转的饼状统计图实例代码最近在做一个项目,由于有需要统计的需要,于是就做成了下面饼状统计图。 下图是效果图: 大致思路
- 最近在做项目的时候,一直用一个叫做API的东西,controller注解我会写,这个东西我也会用,但是我确实不知道这个东西是个什么,有点神奇
- 当屏幕变为横屏的时候,系统会重新呼叫当前Activity的OnCreate方法,你可以把以下方法放在你的OnCreate中来检查当前的方向,
- 首先我们应该清楚的是JDK1.6和JDK1.7中String类的intern方法还是有差别的: JDK1.6中的int
- 今天一直在绞尽脑汁的寻找解决两个字符之间的内容如何输出的问题,刚开始就使用了万能的正则表达式;但是不知哪里的原因自己的数据一直出不来,觉得应
- JRebel 介绍IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊。目
- 游标查询(scroll)简介scroll 查询 可以用来对 Elasticsearch 有效地执行大批量的文档查询,而又不用付出深度分页那种
- 在 Eclipse 里新建好工程后,默认会有一个assets目录,在 Eclipse 中直接将准备好的 SQLite 数据库复制到该目录中,
- 因项目中的需要实现ScrollView顶部的悬停,也不是太难便自己实现功能,话不多说,先上效果图红色text一到顶上便会悬浮在上面,不会跟随
- 一、项目前提1、购物车并不是一直放数据库2、选择使用的技术:session:(购物车项目使用session)好处:快(放在内存当中),存对象
- 具体代码如下所示:<?xml version="1.0"?><LinearLayout android