钉钉通知

简介: 本文介绍如何通过Java代码调用钉钉机器人API实现系统告警消息推送。内容涵盖机器人创建、Webhook配置、Postman测试及Java代码实现,并提供限流策略与关键词安全设置等最佳实践,助力实时监控与异常通知。

钉钉通知

本文讲实现Java代码调用钉钉机器人API,发送指定告警消息的效果,以满足用户对于系统的实时监控。
API:https://open.dingtalk.com/document/orgapp/custom-robots-send-group-messages

每个机器人每分钟最多发送20条消息到群里,如果超过20条,会限流10分钟。
重要
如果有大量发消息的场景(譬如系统监控报警)可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群

1.创建钉钉机器人
创建告警群聊
就拉一个普通群聊就可以

护士站对接群

普通群

群成员4人

设置群身份


创建机器人
群设置选择机器人

群设置

消息免打扰

群管理

泊舟

群权限相关设置

群主

标签

普通群

群类型

普通群无组织归属,推荐升级为内部群等其他类型,功能更丰富,

安全更有保障.

机器人

AI实时翻译

清空聊天记录

退出群聊

解散该群



机器人管理

小钉

钉钉官方机器人,提供丰富的技能

已开启的技能

投票提醒

日程提醒

添加机器人

多款丰富的精选机器人


选择自定义机器人

极狐

GITLAB

TRAVIS

JIRA

极狐GITLAB

GITHUB

基于GIT的代码托管服

基于ROR的开源代码

出色的项目与事务跟

出色的项目与事务跟

托管软件

踪工具

踪工具

自定义

TRELLO

通过WEBHOOK接入自

实时的卡片墙,管理

定义服务

任何事情

企业机器人

阿里云开

-阿里云

开发者社区

发者社区

训练营

训练营BOT

平三勇

阿里云开发者


定义机器人相关信息,重点关注关键词

取个名

护士站告警小瓦力

机器人名字:

护士站对接群

添加到群组:

异常消息关键词,完全是用户自定义,只要你在发送消息中有这些关键词,就可以发送到群里

安全设置

自定义关键词

说明文档

告警

这里我模拟了四个

失败

异常

限流


保存Webhook

1.添加机器人Y

2.设置WEBHOOK,点击设置说明查看如何配置以使机器人生效

HTTPS://OAPI.DINGTALK.COM/ROBOT/SEND?ACCESS TOK

WEBHOOK:

复制

*请保管好此WEBHOOK地址,不要公布在外部网站上,泄露有安全风险

使用WEBHOOK 地址,向钉群推送消息

非常重要,是发送必须的参数

完成

设置说明


2.PostMan测试发送API
基于官方提供的API,我们可以做下述测试
官方请求示例
请求示例(HTTP)
下面的token需要替换成webhook中的地址
请求正文
下面消息类型支持多种,通过msgtype声明你要哪种
at,标识群里@哪些人,如果isAtAll就标识@群里所有人,@atMobiles标识指定手机号,其余参数同理
测试@所有人

SEND

POST

AUTHORIZATION

PRE-REQUEST SCRIPT

SETTINGS

COOKIES

BODY

HEADERS(8)

TESTS

PARAMS

X-WWW-FORM-URLENCODED

GRAPHQL

FORM-DATA

JSON

BEAUTIFY

NONE

BINARY

RAW

3

23

"AT":

"ISATALL":"TRUE",

4

"ATUSERIDS":["17600477102","USER002"],

"ATMOBILES":["17600477102","18XXX"]

5

6

7

"MSGTYPE":"TEXT",

8

//文本消息

9

"TEXT":

10

"CONTENT":"测试预警消息告警通知"

11

12


护士站对接群

HI JX  WU YAYEIT ZIT

护士站告警小瓦力

机器人

测试预警消息告警通知@所有人


测试@指定人

HTIPS//OAPLLINGTALKCON/OBOTJSENDRACCESS.FOKENE8765208F3EOD6AACC137D1525E4D962161C301FICBACA17BC12ABE7

SEND

POST

PRE-REQUEST SCRIPT

SETTINGS

AUTHORIZATION

BODY

HEADERS(8)

COOKIES

TESTS

PARAMS

FORM-DATA

JSON

X-WWW-FORM-URLENCODED

BEAUTIFY

GRAPHQL

BINARY

RAW

NONE

'AT":'

3456780

"FALSE".

"ISATA11

IDS":["17600477102","USER002"],

"ATUSERIDS

["17600477102

"18XXX"]

"ATMOBILES

"MSGTYPE":"TEXT",

//文本消息

890NN

TEXT":

"CONTENT":"测试预警消息告警通知"


护士站告警小瓦力

机器人

09:19

测试预警消息告警通知

@泊舟

收到

回复


测试卡片消息

燕HTT

SAVE

HTPS/0APLDINGTAKCON/_ONOVSEND了B2T1C8AC4JOKEN-8520AF360D53E0D5AACC1370152564DSB211C8AC4FO5A170C128BE77

SEND

POST

COOKIES

PARAMS

HEADERS(8

PRE-REQUEST SCRIPT

TESTS

SETTINGS

BODY

AUTHORIZATION

JSON

BEAUTIFY

FORM-DATA

GRAPHQL

BINARY

X-WWW-FORM-URLENCODED

NONE

RAW

"ISATALL":"FALSE",

"ATUSERIDS":["17600477102","USER002"],

"ATMOBILES":["17600477102","18XX"]

5

9

5,

,"MSGTYPE":"ACTIONCARD",

7

8

"ACTIONCARD":

9

."TITLE":"我-20-年前想打造一向苹果咖啡厅,而它正是-APPLE-的前身",

10

ANIN APPLE STORE.的设计在从政采满调的科技感走向生活化,商共生消化的走向其交可以而调制,26,年商平果一个建立期呼行的吉弯计划"

"BTNORIENTATION":"O","O",

11

"BTNS":

12

13

"TITLE":"内容不错",

14

"ACTIONURL":"HTTPS://WWW.DINGTALK.COM/"

15

16

17

"TITLE":"不感兴趣",

18

,"ACTIONURL":"HTTPS://WWW.DINGTALK.COM/"

19

20


护士站告警小瓦力

09:26

机器人

咨询定制

定制专属钉钉

专有云服务

系统集成服务

云化咨询

星身定制工作合皮肤与欢迎雨,自宠

为企业设立南全属于自己的独立数据

张托打专家技术国队,为企业统一

出租织有爱规划爱上战略,钉钉专家

捏以面向业务晚状和发展目标的战略

义晓天背景,提丹员工白尾感

移动办公应用,个入口打送企业所

服务器私机房,让企业数据与公有效

调料,分析,规划,帮助差悦实现云

奖完全限离

有应用

化升最

告警乔布斯20年前想打造的苹果咖啡厅

APPLESTORE的设计正从原来满满的科技感走向生活

化,而其生活化的走向其实可以追溯到20年前苹果一

个建立咖啡馆的告警计划

内容不错

不感兴趣


3.编写发送代码
有了上述PostMan的测试,下面的java代码编写对于我们来说就很简单了
引入pom依赖
公司内网则直接下载好:https://open-dev.dingtalk.com/sdk/download/java
编写java代码

Java

运行代码复制代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

import com.dingtalk.api.DefaultDingTalkClient;

import com.dingtalk.api.DingTalkClient;

import com.dingtalk.api.request.OapiRobotSendRequest;

import com.dingtalk.api.response.OapiRobotSendResponse;

import com.taobao.api.ApiException;


import java.util.Arrays;


public class DingTalk {



public static void main(String[] args) {

try {

// 1-初始化API调用Client

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/robot/send?access_token=87b520af3e0b6aacc137d1525e4d9b21f61c901f1c8ac4f05a17bc12a8e7f737");


// 2-初始化请求参数

OapiRobotSendRequest req = new OapiRobotSendRequest();

// 2-1 设置消息类型

req.setMsgtype("text");

// 2-2 设置消息@人

OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();

at.setAtMobiles(Arrays.asList("17600477102"));

req.setAt(at);

// 2-3 设置消息内容(必须匹配关键词),工作中这里就对应error日志

OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();

text.setContent("[告警]测试java代码消息");

req.setText(text);


// 3 消息发送

OapiRobotSendResponse rsp = client.execute(req, "");

System.out.println(rsp.getBody());

} catch (ApiException e) {

e.printStackTrace();

}

}

}

代码测试

2分钟前

护士站告警小瓦力

09:48

机器人

[告警]测试JAVA代码消息

@泊舟

收到

回复


4.工作中到底怎么用
上面我们完成了简单的告警通知,实际工作中也是这么来做,但是会做一点点优化
将上述代码封装成一个工具类,如:DingTalkMessageUtil
将token保存在nacos中,与代码解耦
在有异常日志、慢SQL等关键场景中调用此工具类,将消息发送到群,让开发人员及时感知并处理
5.失败原因分析
看看你发送消息中,是不是没有自己定义的关键词
看看你消息的接收方,是不是userId或手机号不对

4 人点赞

4

油炸

相关文章
|
4月前
|
SQL 监控 机器人
|
4月前
|
监控 安全 机器人
钉钉通知
本文介绍如何通过Java代码调用钉钉机器人API实现系统告警消息实时推送。涵盖机器人创建、Webhook配置、Postman测试及Java代码封装,强调关键词匹配与限流规则,助力开发人员高效集成钉钉通知,提升系统监控响应能力。(238字)
782 0
Prometheus-prometheus-webhook-dingtalk 安装
Prometheus-prometheus-webhook-dingtalk 安装
2529 0
Prometheus-prometheus-webhook-dingtalk 安装
|
2月前
|
人工智能 数据可视化 机器人
2026年萌新零基础部署OpenClaw(Clawdbot)接入钉钉保姆级教程
在2026年AI自动化办公爆发的时代,OpenClaw(原Clawdbot,曾用名Moltbot)作为阿里云生态下开源的AI自动化代理工具,凭借自然语言交互、全场景任务自动化、插件化扩展的核心优势,成为个人办公提效、企业轻量化数字化转型的核心选择。与传统聊天机器人不同,OpenClaw并非单纯的对话工具,而是能实现“需求解析-任务规划-工具调用-结果反馈”的完整自动化系统,可轻松完成邮件管理、日程规划、网页抓取、多平台协同等实操任务,真正实现解放双手、提升效率的核心需求。
1238 25
|
2月前
|
人工智能 数据可视化 安全
2026年OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
在AI办公自动化普及的2026年,OpenClaw(原Clawdbot、Moltbot)作为阿里云生态下热门的开源AI代理工具,凭借持久记忆、任务自动化执行、多工具集成的核心优势,成为个人与企业打造专属AI助手的首选。而钉钉作为国内主流的办公协同平台,与OpenClaw的无缝对接,能让AI助手突破Web控制台的限制,直接嵌入日常办公场景——群聊中@机器人即可生成会议纪要、私聊发送指令完成文件处理、定时推送工作提醒,真正实现“办公指令一句话,AI代劳省时间”。
4208 5
|
SQL 关系型数据库 MySQL
【MySQL异常解决】MySQL执行SQL文件出现【Unknown collation ‘utf8mb4_0900_ai_ci‘】的解决方案
【MySQL异常解决】MySQL执行SQL文件出现【Unknown collation ‘utf8mb4_0900_ai_ci‘】的解决方案
1777 0
dd.biz.util.scan调用后返回报错,能正常扫码,就是返回的时候会报错
这段代码实现了调用钉钉的扫一扫功能,扫描二维码后获取数据并显示在弹窗中。如果扫描成功,会将扫描结果赋值给 `formInfo.projectNo` 和 `checkProjectName`,并在弹窗中提示用户扫描成功的内容。如果扫描失败,则会显示一个提示信息。
|
数据可视化 关系型数据库 数据库
告别破解版烦恼!Navicat Premium Lite免费版它来了
作为一名后端开发者,在开发过程中使用可视化工具查看数据库中的数据是我们的基本操作。Navicat作为一款广受欢迎的数据库连接工具,深受我们喜爱和挑战。我们喜爱它强大的功能和直观的操作习惯,但又对它的收费模式感到不满。个人使用可以通过破解解决,然而在公司环境下,由于侵权问题,我们通常被禁止使用,这令我们感到很不便。然而,最近Navicat推出了一款免费的产品——Navicat Premium Lite。
7185 1
告别破解版烦恼!Navicat Premium Lite免费版它来了