python: 企业微信 机器人定制化推送

需要实现的是:

1.企微推送 定制化消息

思路:

(1)把需要推送的内容处理好

(2)调用企微api

(3)推送时间的设置触发--可利用jekins的Build Triggers定时构建

上具体实现:

(1)定时推送发版提醒消息

该功能实现:每天定时推送提醒开发合并代码提醒,自动部署发版

 代码:

 def send_message(self):
     # 正式key
     wx_key = "xx"
     wx_webhookurl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={}'.format(wx_key)
     headers = {'Content-Type': 'application/json'}
     hbpeople = ["san.zhang"]
     msg = '定时提示: 抓紧合并代码了,10分钟后将启动自动部署 test/uat'
     testdata = json.dumps({"msgtype": "text", "text": {"content": msg, "mentioned_list": hbpeople}})
     r = requests.post(wx_webhookurl, data=testdata, headers=headers, verify=False)
     print(r.text)
     return r

(2)调用第三方接口进行处理后定时推送

该功能实现:每天定时推送禅道或 jira(其他平台均可)

待QA&开发认领任务 / QA&开发延期的任务/ 待产品验收任务 /本周上线的任务等等按需汇总后推送至群里@对应的人

~~可根据项目组需要定制化编写~~

 

 代码:

message:调用第三方接口进行处理后的推送的 msg
send_message:企微推送消息
    # 企业微信机器人推送消息
    def send_message(self, content):
        project_name = self.project_name()
        content = project_name + content
        print(content)
        post_content = {"msgtype": "markdown", "markdown": {"content": content}}
        result = requests.post(url=self.ROBOT_URL, json=post_content, verify=False)
        print(result.text)

(3)推送测试报告

该功能实现:把测试报告url 推送群里

  代码:

#报告可访问化:将测试报告通过接口上传至文件服务
def upload_report(filepath, filename):
    url = "xx"
    payload = {}
    files = [xx]
    headers = {
        'bucket-name': 'xx',
        'token': gettoken()
    }
    response = requests.request("POST", url, headers=headers, data=payload, files=files)
    return response.json()['data'][0]['path']

reportpath = upload_report(filepath, filename)

#报告持久化:将测试报告链接上传到数据库
uploadurl = "xx"
headers = {'Content-Type': 'application/json'}
uploadparam = json.dumps({xx})


#推送消息定制化
testdata = json.dumps({
    "msgtype": "markdown",
    "markdown": {
        "content":
            'xx报告如下:\n'
            '成功:<font color="info">' + str(success) + '条</font>\n'
            + '失败:<font color="warning">' + str(fail) + '条</font>\n'
                                                        '>失败的用例为:\n' + str_fail_case
            + '\n [测试报告链接]('+reportpath+')'
    }
}
)
#调用企微推送
r = requests.post(wx_webhookurl, data=testdata, headers=headers, verify=False)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海是倒过来的天~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值