最近打算写一下自动化结果(UT和AT)的DashBoard(显示一下微服务一段时间的结果),所以需要写个小脚本来做一些事情。

首先要得到jenkins job中的console 的结果,我使用的是通过jenkins的api进行得到结果:

如何得到API Token:  在Jenkins登录后右上角账户 --》 设置  --》点击 show API Token

  1. 得到job最新的build number
  2. 得到对应job的console log,然后进行正则表达式得到对应job的UT & AT的行覆盖率和类覆盖率
# coding:utf-8import jenkins
import rejob_names = ['store/store-outer/store-openapi-build','store/store-outer/store-openapi-zbrd-auto']username = 'xxxx'
password = '0e10e619c76a35513ec5a4bfe2b0d5c4'class Jenkins_Tool():def __init__(self):self.jenkins_url = 'http://jenkins.xxxx.com/jenkins/'self.sever = jenkins.Jenkins(self.jenkins_url, username=username, password=password)def get_build_number(self, job_name):return (self.sever.get_job_info(job_name)['lastCompletedBuild']['number'])def get_build_console_output(self, job_name):number = self.get_build_number(job_name)line_coverage = 0code_coverage = 0resps= (self.sever.get_build_console_output(job_name, number))line_code = (re.search(r'(line:)\s(\d+)', resps, re.M))class_code = (re.search(r'(class:)\s(\d+)', resps, re.M))if line_code and class_code:line_coverage = line_code.group(2)code_coverage = class_code.group(2)print "行覆盖率为:{0}".format(line_coverage)print "类覆盖率为:{0}".format(code_coverage)test = Jenkins_Tool()
for job_name in job_names:test.get_build_console_output(job_name)

时间比较紧,所以就写了点点,不过可以通过上面的代码得到对应jenkins job的console log了,然后通过正则得到想要得到的值,以后再进行优化吧!

python package 之 jenkins相关推荐

  1. PyCharm中Directory与Python package的区别

    对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清 ...

  2. 对于python来说、一个模块就是一个文件-彻底明白Python package和模块

    python 是通过module组织代码的,每一个module就是一个python文件,但是modules是通过package来组织的. 如果我们自己写着玩,有的时候就是一两个Python文件在同级目 ...

  3. autumn 0.5.1 : Python Package Index

    autumn 0.5.1 : Python Package Index autumn 0.5.1 A minimal ORM

  4. pycharm新建文件夹时新建python package和新建directory有什么区别?

    pycharm创建普通的directory和package时都是在硬盘上建立一个文件夹. 但是建package时会在这个文件夹中自动地生成一个空的__init__.py文件. python的一个包是一 ...

  5. Beaker 1.6.4 : Python Package Index

    Beaker 1.6.4 : Python Package Index Beaker 1.6.4 Download Beaker-1.6.4.tar.gz A Session and Caching ...

  6. python package和目录_PyCharm中Directory与Python package的区别

    对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清 ...

  7. Spark集群,多个版本Python/Python Package管理

    文章转载自:http://blog.csdn.net/gongbi917/article/details/52369025 仅用于个人学习备忘收藏,转载请注明原文地址 进年来,越来越多的数据科学家.分 ...

  8. pycharm和python一样吗_PyCharm中Directory与Python package的区别

    对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清 ...

  9. pycharm中创建的dictionary与python package的区别

    在pycharm中,创建的dictionary(目录)与python package的区别 python package 这是一个特殊的目录,因为在创建该python package的时候,系统会自动 ...

最新文章

  1. Spring中@Autowired和@Resource区别
  2. Altium designer中导入CAD文件
  3. 信号 09 | 信号概念
  4. 认识事件冒泡和事件捕获
  5. 函数传参string_C/C++的三种函数传值方式及其区别
  6. 手机号正则表达式验证_还不会正则表达式?看这篇!
  7. 初学react.js
  8. 为什么中台是传统企业数字化转型的关键?
  9. java.lang.Runtime 运行时类 执行 dos 、cmd 命令、VBS 脚本
  10. CANAPE字体颜色c语言,CANape介绍.doc
  11. Python 找完美数
  12. Windows蓝屏的解决办法(如:UNEXPECTED_STORE_EXCEPTION蓝屏)
  13. 同频共振数据时代,AntDB数据库与永洪科技完成产品互认证
  14. openresty ngx_lua常用指令
  15. 电子工程师自学成才pdf_给新开发人员的最佳建议:自学成才的软件工程师的建议...
  16. python矩阵乘法基础小结
  17. R 语言怎么保存工作目录到当前路径_第一讲 R基本介绍及安装
  18. 利用触摸精灵实现截图功能(针对微信)
  19. C++编程 3n+1猜想(卡拉兹Callatz猜想)
  20. 集合论中的每条公理是用来干嘛的?

热门文章

  1. 微信获取scheme码提示invalid weapp pagepath rid: 6397ef44-0f537d77-76155114
  2. Keep悦动圈竞品分析报告(1)
  3. solidworks导出obj模型和mtl材质
  4. 基于RK3399的LED驱动开发
  5. 微信公众平台开发之数据传输过程
  6. 表情识别(二)--基于CNN分类
  7. springboot + vue 时区问题
  8. HDU.5128 The E-pang Palace
  9. JSP中动态添加或删除table的行
  10. linux查询网卡是百兆还是千兆,查看网卡是百兆还是千兆