目录1、前言

根据项目组需求,组员每天都要写工作日报,但有时候忙起来,就忘记写日报这个事了,所以就需要一个通知消息来定点通知大家写日报。

由于工作环境使用的是钉钉群,所以可以在钉钉群里添加群助手,来进行通知。

如图所示:

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(1)

除了可以用群助手,也可以自定义消息来完成消息通知。

方法其实类似 爬取蒲公英内测发版信息推送到钉钉群 这篇文章。

2、添加机器人

1、钉钉群设置,群设置---》智能群助手,点击自定义。

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(2)

2、点击添加。

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(3)

3、配置机器人信息,其中安全设置选其中一项即可(例如选择自定义关键词)。

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(4)

4、点击完成后,会生成Webhook地址,之后脚本会引用这个URL地址,向钉钉群推送消息。

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(5)

5、完成后,机器人设置完成。

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(6)

3、编写脚本

由于以接口的方式进行请求,所以需要安装Requests包。

pip3 install requests

发送消息有两种格式:

1、消息格式为:text

#!/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

#!/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 "\n\n" "> 同学们,写日报啦!" "\n\n" "> (*^-^*)" }, "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点构建(执行)一次。

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(7)

3、构建添加执行shell,设置执行脚本。

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(8)

5、消息通知效果

1、控制台查看Jenkins构建日志。

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(9)

2、钉钉群收到的消息,消息格式为:text。

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(10)

3、钉钉群收到的消息,消息格式为:markdown。

如何修改钉钉群消息发送时间(如何将消息按指定时间发送到钉钉群里)(11)

公众号:AllTests软件测试

,