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

codeskyblue · 2017年12月14日 · 最后由 tanyacui 回复于 2020年02月17日 · 1007 次阅读
本帖已被设为精华帖!

消息通知调查

之前社区里有人写过一篇调用微信接口实现测试监控,感觉用起来很方便的样子。今天研究了下钉钉的接口,发现比微信还方便。
支持文本(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 通知。

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

这个通知包括短信嘛

实践测试并不能

codeskyblue 回复

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

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

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

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

成功 get,so easy😈

不错,这就去实践一下。

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

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

陈辉 钉钉机器人结合 jira 做到消息提醒推送 中提及了此贴 01月10日 05:43
simple 专栏文章:[精华帖] 社区历年精华帖分类归总 中提及了此贴 12月13日 06:44
simple [精彩盘点] TesterHome 社区 2018 年 度精华帖 中提及了此贴 01月07日 04:08
狂师 回复

请问下怎么 @ 指定人

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册