一、如何打通钉钉机器人
1、先建立一个钉钉群,前期可以建立个测试群,就你自己
建立群后,点击设置,点击机器人可以看到对应页面
点击添加机器人
这里选择自定义机器人
这里点击添加后可以看到有这些字段需要填写
机器人名称,随意自己定义
主要的是安全设置:
自定义关键词:你发布的消息内容中必须包含这个关键词
加签:你的请求中必须加入签名值
ip段:可以设置对应的访问ip或者ip段
对于我来说为了方便,直接选择简单的自定义关键词
如果对于加签和ip段可以看这个贴子:https://open.dingtalk.com/document/orgapp/customize-robot-security-settings
这些设置好之后,会生成一个https的链接 ,后续请求这个链接地址即可
因为shell脚本中可以执行py文件,所以我先写了py脚本
import requests
import http.client
import json
def sendmsg(msg):
url = "https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXX"
payload = {"msgtype": "text","text": {"content": "升级"+msg}}
headers = {
'Content-Type': 'application/json '
}
data1=json.dumps(payload)
response = requests.request("POST", url, headers=headers, data=data1)
print(response.text)
msg="成功"
sendmsg(msg)
二、在shell脚本中调用py方法且传参
对应脚本
cd /root/zhoutest/
msg1="151主干环境成功"$1
python3 -c "import test2;test2.sendmsg('${msg1}')"
主要使用python -c 的方式 , import test2 是py 文件名称
sendmsg 为test2.py 中的方法
这样就实现了 shell脚本执行py中的方法且完成传参
三、在环境中升级python环境
我们都知道linux服务器自带py环境,但是大都是py2环境
所以需要升级到py3 环境
参考文章:https://www.cnblogs.com/lemon-feng/p/11208435.html
四、了解钉钉接口报文格式
{
"msgtype": "text",
"at": {
"isAtAll": true
},
"text": {
"content": "升级消息的内容"
}
}
msgtype:text 表示消息内容为文本
isAtall :如果是TRUE表示@群里所有人,false表示不@所有人
text :发送消息文本内容
当然钉钉还提供了发送链接和图片的格式 具体看钉钉官方文档
https://open.dingtalk.com/document/robots/robot-overview