1、注册企业微信

搜索企业微信直接注册

2、创建应用

3、查看企业id、Secret、应用id、部门id

4、发送代码

import os
import jenkins
import requests, json
import urllib3
urllib3.disable_warnings() ###填写参数### # Corpid是企业号的标识
Corpid = "********"
# Secret是管理组凭证密钥
Secret = "**********"
# 应用ID
Agentid = "1000002"
# 部门id
Partyid = '1'
# jenkins登录地址
jenkins_url = "http://192.168.1.107:8080/"
# 获取jenkins对象
server = jenkins.Jenkins(jenkins_url, username='root', password='1234qwer')
# job名称
job_name = "job/轻萤/"
# job的url地址
job_url = jenkins_url + job_name
# 获取最后一次构建
job_last_build_url = server.get_info(job_name)['lastBuild']['url']
# 报告地址
report_url = job_last_build_url + 'allure' def GetToken(Corpid, Secret):
"""获取access_token"""
Url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
Data = {
"corpid": Corpid,
"corpsecret": Secret
}
r = requests.get(url=Url, params=Data, verify=False)
print(r.json())
if r.json()['errcode'] != 0:
return False
else:
Token = r.json()['access_token']
return Token def SendMessage(Partyid):
"""发送消息""" Token = GetToken(Corpid, Secret)
d = {}
# 获取项目绝对路径
path = os.path.abspath(os.path.dirname((__file__)))
# 打开prometheusData 获取需要发送的信息
f = open(path + r'/report/html/export/prometheusData.txt', 'r')
for lines in f:
for c in lines:
launch_name = lines.strip('\n').split(' ')[0]
num = lines.strip('\n').split(' ')[1]
d.update({launch_name: num})
print(d)
f.close()
retries_run = d.get('launch_retries_run') # 运行总数
print('运行总数:{}'.format(retries_run))
status_passed = d.get('launch_status_passed') # 通过数量
print('通过数量:{}'.format(status_passed))
status_failed = d.get('launch_status_failed') # 不通过数量
print('通过数量:{}'.format(status_failed)) # 发送消息
Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token
Data = {
"touser": "@all",#@all 所有人
"toparty": Partyid,
"msgtype": "text",
"agentid": Agentid,
"text": {
"content": "轻萤脚本执行完成。"
"\n测试概述:"
"\n运行总数:" + retries_run +
"\n通过数量:" + status_passed +
"\n失败数量:" + status_failed +
"\n构建地址:\n" + job_url +
"\n报告地址:\n" + report_url },
"safe": "0"
}
r = requests.post(url=Url, data=json.dumps(Data), verify=False)
# 如果发送失败,将重试三次
n = 1
while r.json()['errcode'] != 0 and n < 4:
n = n + 1
Token = GetToken(Corpid, Secret)
if Token:
Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token
r = requests.post(url=Url, data=json.dumps(Data), verify=False)
print(r.json())
return r.json() if __name__ == '__main__':
Status = SendMessage(Partyid)
print(Status)

5、jenkins中发送代码与测试项目关联

详细请看之前写的这篇博客:https://www.cnblogs.com/MrqiuS/p/14211637.html

6、微信扫码关注微信插件,实现微信中接收企业通知和使用企业应用。

7、结果

使用Python实现给企业微信发送allure报告,并实现微信查看的更多相关文章

  1. 使用WxPusher给自己的个人微信发送提醒消息(WxPusher微信推送服务)

    1.背景 我们很多时候,我们在服务器上运行软件,发生一些业务异常,需要给我们发送一个及时的提醒,或者是使用一些耗时软件,比如抢车票,抢课,刷优惠券当任务运行成功以后,也需要及时的发送消息给自己 ,告诉 ...

  2. pytest系列(四)- pytest+allure+jenkins - 持续集成平台生成allure报告

    pytest是什么 pytest是python的一款测试框架,拥有unittest的功能并比它更丰富. allure是什么 有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例 ...

  3. python实现通过企业微信发送消息

    实现了通过企业微信发送消息,平时用于运维的告警还是不错的,相对于邮件来说,实时性更高,不过就是企业微信比较麻烦,此处不做过多解释. 企业微信api的详细请看:http://work.weixin.qq ...

  4. Zabbix使用微信发送告警(附Python代码)

    介绍 本文将介绍如何把zabbix告警接入到微信,通过微信企业号将告警信息发送到运维人员的微信上.本文适合于已经实现了邮件告警的小伙伴,因为需要在已经能实现告警的基础上进行,如果还不知道如何配置zab ...

  5. zabbix使用企业微信发送告警信息

    用qq邮箱发送告警信息一点都不方便,看到网上说也可以使用微信发送告警信息,所以就试了一下. 首先先试着在虚拟主机上给微信发送信息. 我们需要注册企业微信,注册时有一个地方需要注意,就是注册时选择组织, ...

  6. 【转】odoo 10的企业微信发送程序介绍

    本文介绍的微信发送程序不是独立的模块,是某企业应用的一部分, 源码可在京津冀odoo技术交流群的群共享中下载.   [1]基本配置 在work.weixin.qq.com上注册一个企业后,会得到企业的 ...

  7. .netcore--Controller后台实现企业微信发送消息

    一.获得企业微信管理端权限,登录企业企业微信管理端界面,并创建应用,如下图中的[网站消息推送] 二.参见企业微信API文献,根据corpid=ID&corpsecret=SECRET(其中企业 ...

  8. python实现微信发送服务器监控报警消息代码实现

    这篇文章主要介绍了python3.8 微信发送服务器监控报警消息代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 ! python版本 > ...

  9. python实现服务器监控报警消息用微信发送(附代码)

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:NicePython PS:如有需要Python学习资料的小伙伴可以加 ...

  10. Python itchat模块的使用,利用图灵机器人进行微信消息自动回复

    一.下载安装itchat模块 二.小实验:获取微信好友头像信息 这需要用itchat模块中的一个方法 itchat.get_friends()#获取微信所有微信好友信息 现在我们导入itchat,打印 ...

随机推荐

  1. npm ERR! Failed at the node-sass@4.14.1 postinstall script.

    我们后台要了前端源代码,启动Vue项目后出现了这几行出错信息 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sass@4.14.1 p ...

  2. 【git】git基本使用以及设置

    视频讲解 一.git下载 官网:Git - Downloads (git-scm.com) 国内镜像:CNPM Binaries Mirror (npmmirror.com) 就目前而言,github ...

  3. 使用layui+jQuery实现点击数据修改,即点即改。

    使用layui+jQuery实现点击数据修改即可修改 首先要用到layui的官网手册 地址:https://www.layui.com/ 注意1.  此功能是在使用layui展示数据的基础上实现 3. ...

  4. parted创建硬盘分区并创建LVM

    基本分区创建分区只有那么大,无法调整大小,写入数据占满时便无法继续,而LVM特点就是可随意扩张大小,避免磁盘占满导致数据丢失. 查看磁盘lsblk 对磁盘进行分区  [root@localhost ~ ...

  5. RabbitMQ 修改密码

    C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin> rabbitmqctl.bat change_password adm ...

  6. docker镜像打包成tar包,上传到另一台服务器

    需要打包的服务器操作: 一.需要打包的服务器执行以下操作 docker save -o node.tar.gz calico/node #  docker save -o  要打镜像包的名称  镜像 ...

  7. easypoi多sheet导出

    以前一直接触的是单sheet导出,这次的需求换成了多sheet导出,算是一个难点所以得记录一下 底层关键的代码就是: private static void defaultExport(List< ...

  8. oracle学习之索引的介绍

    在关系型数据库中,用户查找数据与行的物理位置无关紧要.为了能够找到数据,表中的每一行均用一个rowid来标识,rowid能够标识数据库中某一行的具体位置.当Oracle数据库中存储海量的记录时,就意味 ...

  9. Python用telnet设置,抓UDP抓采样点并显示

    ====main.bat==== echo off rem "d:\Program\WiresharkPortable64\App\Wireshark\tshark.exe" -- ...

  10. CSC落榜

    2021年5月31日21:00点,CSC公布结果,未通过.看到这,我感觉空气瞬间凝固,窒息,那一瞬间我无比平静,我以为我会哭,但是,却泣不成声,脑中第一时间想到得是,如何面对认识得人,全世界感觉都知道 ...