用java模仿钉钉_java接入钉钉机器人(附源码)

本文介绍了如何使用Java接入钉钉群聊,创建钉钉机器人,并提供了告警消息发送的实现。首先新建钉钉群聊和机器人,然后通过webhook设置配置。在工程中定义实体类,引入相关依赖,利用RestTemplate发送HTTP请求。告警消息需包含特定关键词。源码已上传至GitHub,后续将实现pinpoint告警接口。

前言

有研究pinpoint的网友提出,想实现pinpoint告警接入钉钉群和微信群聊, 正所谓,路要一步步走,饭要一口口吃。我们将这个任务拆解一下,以便以后的开发中能够复用这些能力。

1、接入微信群聊(已实现)

2、接入钉钉群聊(正在进行)

3、实现pinpoint告警接口(待完成)

新建钉钉机器人

登录钉钉网页:

https://im.dingtalk.com

登录说明文档地址,以备随时查询:

https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq

首先新建一个群聊

然后添加一个机器人

b28d07203fc2a0793d09076ec7714335.png

随意设置一个机器人的名字,并添加到群组。

这里简单的就采用自定义关键词的方式来发送告警。

这意味着,我们的告警消息需要附带【告警】两个字,否则不能发送成功。

ba450c1ae3d19d2a0ab412a52b8127cf.png

创建完机器人后会显示如下界面:

7615cea4bd5cd3fd7f528c8e06aef072.png

接着,我们复制webhook地址,放入工程的配置文件中。

97ffccf502a2ceae6756f50a5193cb23.png

搭建工程

生成实体类

钉钉消息包含几种消息类型及数据格式,我们一一定义。

8a402c5afc6017dee43bd01c7a3c97e2.png

引入依赖包

7e4bdd155bd64575e2ca210b8ebcb960.png

除了springboot自带的,我们引入了hibernate-validator做参数校验。

引入httpclient方便定义RestTemplate,用于发送http请求。

定义RestTemplate

通过设置一系列的参数,初始化一个Bean出来。

989ad3c2543200f779c47d4bd4ba0e7b.png

开发Api接口

我们定义一个controller,来接收请求处理,调用钉钉的api。

25302f5513983a3f2ccf1ae17995bf40.png

验证

571b87ca9466571b0a4a63e7c4a859af.png

需要注意,消息内容,一定要带上关键词,否则可能出现以下问题。

其他详细说明,请参阅钉钉的接口文档。

3c5f8019807f7589e1bbb12951fd2a17.png

93d3aec7f7c5794c24f4135081d02add.png

总结

钉钉的机器人还是比较简单的,通过新建机器人,通过webhook的方式能灵活的调用。

我们将调用服务封装成一个微服务,对外提供提供能力

后续,我们会实现pinpoint的告警接口,将告警推送到钉钉和微信群。

具体微信群的对接方式,可以查阅公众号内文章:

本文源码已经上传至github,需要的小伙伴可以在公众号回复【钉钉】,自行获取。

好看的人才能点

14e5c9c9158158fc4d38c688ad06a905.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值