python package 之 jenkins
最近打算写一下自动化结果(UT和AT)的DashBoard(显示一下微服务一段时间的结果),所以需要写个小脚本来做一些事情。
首先要得到jenkins job中的console 的结果,我使用的是通过jenkins的api进行得到结果:
如何得到API Token: 在Jenkins登录后右上角账户 --》 设置 --》点击 show API Token
- 得到job最新的build number
- 得到对应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相关推荐
- PyCharm中Directory与Python package的区别
对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清 ...
- 对于python来说、一个模块就是一个文件-彻底明白Python package和模块
python 是通过module组织代码的,每一个module就是一个python文件,但是modules是通过package来组织的. 如果我们自己写着玩,有的时候就是一两个Python文件在同级目 ...
- autumn 0.5.1 : Python Package Index
autumn 0.5.1 : Python Package Index autumn 0.5.1 A minimal ORM
- pycharm新建文件夹时新建python package和新建directory有什么区别?
pycharm创建普通的directory和package时都是在硬盘上建立一个文件夹. 但是建package时会在这个文件夹中自动地生成一个空的__init__.py文件. python的一个包是一 ...
- 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 ...
- python package和目录_PyCharm中Directory与Python package的区别
对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清 ...
- Spark集群,多个版本Python/Python Package管理
文章转载自:http://blog.csdn.net/gongbi917/article/details/52369025 仅用于个人学习备忘收藏,转载请注明原文地址 进年来,越来越多的数据科学家.分 ...
- pycharm和python一样吗_PyCharm中Directory与Python package的区别
对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清 ...
- pycharm中创建的dictionary与python package的区别
在pycharm中,创建的dictionary(目录)与python package的区别 python package 这是一个特殊的目录,因为在创建该python package的时候,系统会自动 ...
最新文章
- Spring中@Autowired和@Resource区别
- Altium designer中导入CAD文件
- 信号 09 | 信号概念
- 认识事件冒泡和事件捕获
- 函数传参string_C/C++的三种函数传值方式及其区别
- 手机号正则表达式验证_还不会正则表达式?看这篇!
- 初学react.js
- 为什么中台是传统企业数字化转型的关键?
- java.lang.Runtime 运行时类 执行 dos 、cmd 命令、VBS 脚本
- CANAPE字体颜色c语言,CANape介绍.doc
- Python 找完美数
- Windows蓝屏的解决办法(如:UNEXPECTED_STORE_EXCEPTION蓝屏)
- 同频共振数据时代,AntDB数据库与永洪科技完成产品互认证
- openresty ngx_lua常用指令
- 电子工程师自学成才pdf_给新开发人员的最佳建议:自学成才的软件工程师的建议...
- python矩阵乘法基础小结
- R 语言怎么保存工作目录到当前路径_第一讲 R基本介绍及安装
- 利用触摸精灵实现截图功能(针对微信)
- C++编程 3n+1猜想(卡拉兹Callatz猜想)
- 集合论中的每条公理是用来干嘛的?