钉钉设置机器人发送群消息
原文链接: https://www.cnblogs.com/yalong/p/16336940.html
需求背景
最近在写sh构建的代码,要在sh运行结束的时候发送消息到钉钉群,总结了方法如下
钉钉群添加机器人
步骤: 点击群设置=>智能群助手=>添加机器人=>自定义
关键步骤截图如下:
安全设置就选择IP地段,就是说只有这个ip的电脑可以触发机器人发送消息,如下图
以mac电脑为例,查看电脑ip命令行是 curl ifconfig.me
如下图所示:
把这个ip填写机器人的ip白名单中, 如下图所示:
CURL 方式触发机器人发送消息
创建一个sh文件,名字就叫 dingidng.sh
内容如下:
#!/bin/bash
curl -H 'Content-Type: application/json;charset=utf-8' -XPOST https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxx -d "{'msgtype': 'markdown', 'markdown': {'title':'钉钉测试', 'text':'### 测试内容 \n 嘻嘻'}}"
记得xxxxxxxxxx 改成自己的token
执行sh dingding.sh
就触发成功了,在群里就收到了消息
还可以跟sh文件传递参数,sh文件代码改成如下:
#!/bin/bash
title=$1
content=$2
curl -H 'Content-Type: application/json;charset=utf-8' -XPOST https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx -d "{'msgtype': 'markdown', 'markdown': {'title':'$title', 'text':'$content'}}"
执行 sh dingding.sh 标题 内容
也可以发送成功
补充说明
-
机器人发送内容的数据格式还有好几种, 具体看这里: https://open.dingtalk.com/document/robots/custom-robot-access
-
机器人安全设置还有其他两种方式, 自定义关键词 和 加签
加签虽然也可以,但是用CURL的方式就挺麻烦了,如果是在java 代码中使用到还不错
自定义关键词,如果有这个需求的话,也可以搞起来 -
因为我这边就两台机器需要用到触发机器人发送消息的功能,所以使用IP地址足够了,简单省事