如何将消息按指定时间发送到钉钉群里

2022-07-26 16:12:08 浏览数 (1)

如何将消息按指定时间发送到钉钉群里

目录

  • 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。

0 人点赞