通用技术 调用钉钉接口实现消息通知

codeskyblue · December 14, 2017 · Last by 孟德功 replied at December 26, 2017 · 9588 hits
本帖已被设为精华帖!

消息通知调查

之前社区里有人写过一篇调用微信接口实现测试监控,感觉用起来很方便的样子。今天研究了下钉钉的接口,发现比微信还方便。
支持文本(text)、连接(link)、markdown(markdown)三种消息类型。最喜欢的就是markdown类型。可以内嵌图片,不过图片需要自己找个地方存。

钉钉机器人(图文详细配置步骤)

先下载一个钉钉PC版。官方主页https://www.dingtalk.com/,找到下载界面下载。创建一个帐号,完成登录。

点击客户端右上角的机器人管理 (2018年1月更新)

选择最后的自定义机器人

随便写个名字,选择添加到的群组。之后通过API就可以把消息发到这个群组里面了。

确认之后,会给出一个webhook地址。这个复制下来,之后会用到。点击设置说明会有很详细的接口使用说明

结束之后,可以可以用cURL测试一下通知效果了。

# test markdown
$ ACCESS_TOKEN="your-access-token-here"
$ curl "https://oapi.dingtalk.com/robot/send?access_token=$ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"msgtype": "markdown", "markdown": {
"title": "Hello world",
"text": "**code**: echo hello world"
}}'
{"errcode":0,"errmsg":"ok"}

# test text
$ curl "https://oapi.dingtalk.com/robot/send?access_token=$ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"msgtype": "text", "text": {
"content": "Hello world"
}}'
{"errcode":0,"errmsg":"ok"}

客户端几乎是立马就收到消息。

部分不足的地方

目前钉钉的markdown还只下面的部分格式,不过也算是够用了。

标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

引用
> A man who stands for nothing will fall for anything.

文字加粗、斜体
**bold**
*italic*

链接
[this is a link](http://name.com)

图片
![](http://name.com/pic.jpg)

无序列表
- item1
- item2

有序列表
1. item1
2. item2

更多玩法

为了方便程序调用,下午的时候又将这些API封装成了Go的库 https://github.com/codeskyblue/dingrobot,里面自带了一个小程序,当程序异常退出的时候,发DingDing通知。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 10 条回复 时间 点赞
思寒_seveniruby 将本帖设为了精华贴 14 Dec 17:19

这个通知包括短信嘛

实践测试并不能

codeskyblue 回复

他们不是有个钉功能可以发短信嘛

我也见过,不过机器人发消息这块没有看到短信相关的内容

机器人不发短信的,这个其实挺实用的,自动化出结果出报告都可以用这个通知

我也玩了玩,确实有点意思

成功get,so easy😈

不错,这就去实践一下。

webhook钉钉提醒功能,目前针对群组消息提醒还是可以,但是对于@指定人员,就显得有点鸡肋,只能当知道对方手机号才能钉钉到他。

python以实践, POST请求同学们记得加header = {'Content-Type: application/json;charset=utf-8'}

陈辉 钉钉机器人结合 jira 做到消息提醒推送 中提及了此贴 10 Jan 13:43
simple 专栏文章:[精华帖] 社区历年精华帖分类归总 中提及了此贴 13 Dec 14:44
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up