消息通知调查

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


↙↙↙阅读原文可查看相关链接,并与作者交流