如何将消息按指定时间发送到钉钉群里
目录
- 1、前言
- 2、添加机器人
- 3、编写脚本
- 4、Jenkins配置
- 5、消息通知效果
1、前言
根据项目组需求,组员每天都要写工作日报,但有时候忙起来,就忘记写日报这个事了,所以就需要一个通知消息来定点通知大家写日报。
由于工作环境使用的是钉钉群,所以可以在钉钉群里添加群助手,来进行通知。
如图所示:
除了可以用群助手,也可以自定义消息来完成消息通知。
方法其实类似 爬取蒲公英内测发版信息推送到钉钉群 这篇文章。
2、添加机器人
1、钉钉群设置,群设置---》智能群助手,点击自定义。
2、点击添加。
3、配置机器人信息,其中安全设置选其中一项即可(例如选择自定义关键词)。
4、点击完成后,会生成Webhook地址,之后脚本会引用这个URL地址,向钉钉群推送消息。
5、完成后,机器人设置完成。
3、编写脚本
由于以接口的方式进行请求,所以需要安装Requests包。
代码语言:javascript复制pip3 install requests
发送消息有两种格式:
1、消息格式为:text
代码语言:javascript复制#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公众号:AllTests软件测试
import requests
import json
# 通知信息(钉钉群)
def test_text():
# Webhook地址
url = "https://oapi.dingtalk.com/robot/send?access_token=" " e8bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXbfe2"
HEADERS = {
"Content-Type": "application/json ;charset=utf-8"
}
# 格式为:text
message = "日报通知"
String_textMsg = {
"msgtype": "text",
"text": {"content": message "n"
"同学们,写日报啦!" "n"
"(*^-^*)" "n"
},
"at": {
"atMobiles": [
# "134XXXXXXXX" #如果需要@某人,这里写他的手机号
],
"isAtAll": 1 # 如果需要@所有人,这里写1
}
}
String_textMsg = json.dumps(String_textMsg)
requests.packages.urllib3.disable_warnings()
res = requests.post(url, data=String_textMsg, headers=HEADERS, verify=False)
print(res.text)
if __name__=="__main__":
test_text()
2、消息格式为:markdown
代码语言:javascript复制#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公众号:AllTests软件测试
import requests
import json
# 通知信息(钉钉群)
def test_markdown():
# Webhook地址
url = "https://oapi.dingtalk.com/robot/send?access_token=" " e8bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXbfe2"
HEADERS = {
"Content-Type": "application/json ;charset=utf-8"
}
# 格式为:markdown
message = "日报通知"
String_textMsg = {
"msgtype": "markdown",
"markdown": {
"title": message,
"text": "### " message "nn"
"> 同学们,写日报啦!" "nn"
"> (*^-^*)"
},
"at": {
"atMobiles": [
# "134XXXXXXXX" #如果需要@某人,这里写他的手机号
],
"isAtAll": True
}
}
String_textMsg = json.dumps(String_textMsg)
requests.packages.urllib3.disable_warnings()
res = requests.post(url, data=String_textMsg, headers=HEADERS, verify=False)
print(res.text)
if __name__=="__main__":
test_markdown()
4、Jenkins配置
1、创建日报通知项目,脚本可以上传到Git上来进行获取或者将脚本上传到本地服务器来进行获取。
2、构建触发器,设置轮询机制,例如工作日每天下午18点构建(执行)一次。
3、构建添加执行shell,设置执行脚本。
5、消息通知效果
1、控制台查看Jenkins构建日志。
2、钉钉群收到的消息,消息格式为:text。
3、钉钉群收到的消息,消息格式为:markdown。