前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jenkins如何连接钉钉发送测试报告

jenkins如何连接钉钉发送测试报告

原创
作者头像
测试之道
修改2021-03-03 09:35:32
2.1K2
修改2021-03-03 09:35:32
举报
文章被收录于专栏:测试之道

构建思路

  1. 创建两个钉钉机器人(一个机器人发送构建信息,一个机器人发送测试用例结果),发送构建结果可以通过jenkins的钉钉插件实现,发送测试结果可以通过获取测试报告数据用代码给钉钉发送实现
  2. 创建两个任务,第一个任务使用jenkins插件,发送测试运行的结果(成功,失败...)第二个任务关联第一个任务,第一个任务触发后,获取最后一次的构建记录,发送测试用例结果

发送构建结果

创建第一个钉钉机器人

 jenkins安装钉钉插件

系统管理-插件管理-可选插件搜索“钉钉”,我这已经安装,安装后重启jenkins

jenkins配置钉钉

系统管理-系统配置-钉钉

点击测试,如果机器人发送一下图片:

说明配置成功。

发送任务构建结果

在配置任务中打开钉钉机器人即可

 点击立即构建,钉钉机器人就会发送构建结果如图:

发送测试用例结果

python代码


# 获取jenkins构建信息和本次报告地址 import os import jenkins #安装pip install python-jenkins import json import urllib3 # jenkins登录地址 jenkins_url = "http://*******8:8080/" # 获取jenkins对象 server = jenkins.Jenkins(jenkins_url, username='*****', password='*****') #Jenkins登录名 ,密码 # job名称 job_name = "job/test_mock/" #Jenkins运行任务名称 # 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' #'allure'为我的Jenkins全局工具配置中allure别名 ''' 钉钉推送方法: 读取report文件中"prometheusData.txt",循环遍历获取需要的值。 使用钉钉机器人的接口,拼接后推送text ''' def DingTalkSend(): d = {} # 获取项目绝对路径 path = os.path.abspath(os.path.dirname((__file__))) # 打开prometheusData 获取需要发送的信息 f = open(path + r'/allure-report/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://oapi.dingtalk.com/robot/send?access_token=***************' # webhook con = {"msgtype": "text", "text": { "content": "Pytest_Allure_Demo自动化脚本执行完成。" "\n测试概述:" "\n运行总数:" + retries_run + "\n通过数量:" + status_passed + "\n失败数量:" + status_failed + "\n构建地址:\n" + job_url + "\n报告地址:\n" + report_url } } urllib3.disable_warnings() http = urllib3.PoolManager() jd = json.dumps(con) jd = bytes(jd, 'utf-8') http.request('POST', url, body=jd, headers={'Content-Type': 'application/json'}) if __name__ == '__main__': DingTalkSend()


将代码放在jenkins生成allure报告同级目录下

创建第二个机器人(这里需要加入IP段)

ip获取:可以先随意填写,去jenkins-系统配置-钉钉中测试,看错误提示信息,将提示的ip加入ip段中

比如:

ip为123.232.***.***,就将这个ip加入到钉钉的IP段中,再将这个ip的123.232.***.0/24加入到IP段中,再点击测试,重复前面操作,直到钉钉机器人发送消息

.创建第二个任务

构建运行节点

构建触发器

构建执行,运行代码

 应用,保存。

构建第一个任务第二个任务也会触发 ,钉钉将会收到如图:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 构建思路
  • 发送构建结果
    • 创建第一个钉钉机器人
    •  jenkins安装钉钉插件
    • jenkins配置钉钉
    • 发送任务构建结果
    • 发送测试用例结果
      • python代码
      • 创建第二个机器人(这里需要加入IP段)
      • .创建第二个任务
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档