开启左侧

接口自动化之 + Jenkins + Allure报告生成 + 企微音讯告诉推送

[复制链接]
在线会员 aZgrMu 发表于 2025-2-7 18:58:29 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收

正在jenkins上布置佳名目,建立胜利后,期望能够把天生的陈述,和成果统计收收至企微。
结果图:

交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-1.jpg

交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-2.jpg


完毕以下。
一、天生allure陈述
a. 起首正在Jenkins插件办理中,搜刮并装置allure插件

交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-3.jpg


b. 其次,正在 全部东西办理中,新删树立,留神别号最佳挖当地allure的文献名
交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-4.jpg


c. 正在Jenkins自己job中,增加建立后操纵中增加allure report,挖佳成果文献路子战天生的report的路子。jenkins上树立完毕。
交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-5.jpg

交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-6.jpg



二、上面开端编辑python的代码,留神:那个代码撑持企业微疑战钉钉,只要供把里面的webhook 换失落便止
  1. import os
  2. import time
  3. import requests
  4. from jenkins import Jenkins
  5. # jenkins的url地点(即是域名,原机即是ip+端标语)
  6. jenkins_url = "http://192.168.奸淫.奸淫:奸淫*/"
  7. # 登录jenkins
  8. server = Jenkins(jenkins_url, username="admin", password="123456")
  9. # print(server.server)
  10. # 挑选您的jenkins名目称呼的地点,那段代码加之jenkins的url便会加入您的ApiTest名目
  11. job_name = "job/API_Test_Driver"
  12. # 收消息的地点
  13. # job_url = server.get_info(job_name)["url"]
  14. # 使用server.server 获得jenkins + url
  15. job_url = server.server + job_name
  16. # 获得最新的建立任务称呼,用于拼交后绝allure地点
  17. job_last_number = server.get_info(job_name)["lastBuild"]["number"]
  18. # 尝试陈述allure地点
  19. report_url = job_url + "/" + str(job_last_number) + "/allure"
  20. #记载 时间
  21. job_time = time.strftime("%Y-%m-%d_%H-%M-%S")
  22. def push_message():
  23.     content = {}
  24.     #效劳 器施行
  25.     file_path = os.path.dirname(os.getcwd()) + "/outFiles/report/html/export/prometheusData.txt"
  26.     # # 用于当地调试
  27.     # file_path = os.path.dirname(os.getcwd()) + "/outFiles/report/html/export/prometheusData.txt"
  28.     f = open(file_path, "r", encoding="utf-8")
  29.     for line in f.readlines():
  30.         launch_name = line.strip("\n").split()[0]
  31.         num = line.strip("\n").split()[1]
  32.         # 把朋分进去的数据组拆成键值对于 update是一个办法用于组拆字典的
  33.         content.update({launch_name: num})
  34.     f.close()
  35.     passed_num = content["launch_status_passed"]  # 颠末数目
  36.     failed_num = content["launch_status_failed"]  # 失利数目
  37.     broken_num = content["launch_status_broken"]  # 壅闭数目
  38.     skipped_num = content["launch_status_skipped"]  # 跳过数目
  39.     case_num = content["launch_retries_run"]  # 总额质
  40.     """
  41.     钉钉消息收收,颠末webhook收收消息
  42.     """
  43.     webhook = "那里搁的您的webhook地点,也即是您正在企业微疑大概钉钉里面增加机械人天生的谁人链交"
  44.     content = {
  45.         "msgtype": "text",
  46.         "text": {
  47.             "content": "【交心主动化剧本施行成果】: \n【运行总额】:" + case_num
  48.                        + "\n【颠末数目】: " + passed_num
  49.                        + "\n【失利数目】: " + failed_num
  50.                        + "\n【壅闭数目】: " + broken_num
  51.                        + "\n【跳过数目】: " + skipped_num
  52.                        + "\n【建立地点】: " + job_url
  53.                        + "\n【陈述地点】: " + report_url
  54.                        + "\n【尝试时间】: " + job_time
  55.         }
  56.     }
  57.     requests.post(url=webhook, json=content, verify=False)
  58.     # 因为他是https的以是需要减verify = False让他没有报警告
  59. push_message()
复造代码
交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-7.jpg


三、开端树立钉钉大概企业微疑,您先找到您要收收消息的群组(尔那里用的企微,钉钉也一致)
交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-8.jpg

交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-9.jpg


编纂机械人:

交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-10.jpg

交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-11.jpg

佳了,企业微疑战钉钉的机械人便设置佳了 webhook也拿到了
四、装置插件 Post Build task中止 天生陈述后的shell施行
交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-12.jpg


五、面打您的主动化剧本,正在面打设置,把如下实质减进去
交心主动化之 + Jenkins + Allure陈述天生 + 企微消息报告拉收-13.jpg

  1. #!/bin/bash
  2. echo "=========>装置 Jenkins插件..."
  3. if ! co妹妹and -v python3 &> /dev/null
  4. then
  5.     echo "python3已装置,在装置..."
  6.     sudo apt-get update
  7.     sudo apt-get install -y python3
  8. fi
  9. pip3 install python-jenkins
  10. echo "=========> 收收尝试陈述..."
  11. cd ${WORKSPACE}/message
  12. python3 send_qiwei.py
复造代码
六、而后现在您的主动化任务施行以后便会把成果收正在事情群了,Jenkins上也天生了allure尝试陈述,完善展示。
您需要登录后才可以回帖 登录 | 立即注册 qq_login

本版积分规则

发布主题
阅读排行更多+
用专业创造成效
400-778-7781
周一至周五 9:00-18:00
意见反馈:server@mailiao.group
紧急联系:181-67184787
ftqrcode

扫一扫关注我们

Powered by 职贝云数A新零售门户 X3.5© 2004-2025 职贝云数 Inc.( 蜀ICP备2024104722号 )