springboot整合企微webhook机器人发送消息提醒

 更新时间:2022年12月19日 09:39:34   作者:刨红薯的小羊竿尔  
这篇文章主要为大家介绍了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);
    }
}

以上就是springboot整合企微webhook机器人发送消息提醒的详细内容,更多关于springboot webhook发送消息的资料请关注脚本之家其它相关文章!

相关文章

  • SpringBoot项目启动报错踩坑实战记录

    SpringBoot项目启动报错踩坑实战记录

    这篇文章主要给大家介绍了关于SpringBoot项目启动报错踩坑的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • Java Hutool 包工具类推荐 ExcelUtil详解

    Java Hutool 包工具类推荐 ExcelUtil详解

    这篇文章主要介绍了Java Hutool 包工具类推荐 ExcelUtil详解,需要引入hutool包,版本号可根据实际情况更换,除hutool包之外,还需要引入操作Excel必要包,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Spring中@order注解用法实战教程

    Spring中@order注解用法实战教程

    @Order注解主要用来控制配置类的加载顺序,数字越小,越先加载,下面这篇文章主要给大家介绍了关于Spring中@order注解用法的相关资料,需要的朋友可以参考下
    2022-11-11
  • java文件操作之java写文件简单示例

    java文件操作之java写文件简单示例

    这篇文章主要介绍了java文件操作中的java写文件示例,需要的朋友可以参考下
    2014-03-03
  • Java编程WeakHashMap实例解析

    Java编程WeakHashMap实例解析

    这篇文章主要介绍了Java编程WeakHashMap实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • RabbitMQ中的Channel和Exchange详解

    RabbitMQ中的Channel和Exchange详解

    这篇文章主要介绍了RabbitMQ中的Channel和Exchange详解,创建和销毁TCP连接很耗时,打开太多TCP连接,耗操作系统资源,并发量大到一定程度,系统的吞吐量会降低,使用一个connection多channel的方式,可以提升连接的利用率,需要的朋友可以参考下
    2023-08-08
  • 使用Java获取文件树的代码实现

    使用Java获取文件树的代码实现

    Java语言提供了丰富的库和工具,使得我们可以方便地获取和操作Java文件的语法树(AST, Abstract Syntax Tree),在这篇博客中,我们将探讨如何使用Java来获取一个Java文件的语法树,并展示详细的代码示例和运行结果,需要的朋友可以参考下
    2024-08-08
  • 详解Java如何优雅地书写if-else

    详解Java如何优雅地书写if-else

    在日常开发中我们常常遇到有多个if else的情况,之间书写显得代码冗余难看,对于追求更高质量代码的同学,就会思考如何优雅地处理这种代码。本文我们就来探讨下几种优化if else的方法
    2022-08-08
  • java自动生成ID号的方法

    java自动生成ID号的方法

    这篇文章主要介绍了java自动生成ID号的方法,涉及java生成ID号的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Java内存泄漏问题的排查、优化与最佳实践

    Java内存泄漏问题的排查、优化与最佳实践

    在 Java 开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终可能导致程序崩溃或性能显著下降,本文给大家介绍了Java内存泄漏排查、优化与最佳实践
    2025-01-01

最新评论