Jenkins获取编译状态
背景:在通过python的API调用Jenkins,启动Jenkins的job任务时,是需要知道Jenkins的编译状态,获取编译状态为
status=server.get_build_info(jobname, get_number2)['result'] #jobname,为任务的job名称,get_number2为编译版本号
目前是以前项目中截取的代码,我连接Jenkins是用了两种方式,因为有一种方式不能进行编译job,另外一种获取其他数据有问题,也是一直存在的bug
def connet_jenkinsjob(self): #连接Jenkins
server = Jenkins(jenkins_url, username=jenkins_user, password=jenkins_password,
requester=CrumbRequester(username=jenkins_user, password=jenkins_password,
baseurl=jenkins_url))
return server def stats_jenkinsjob(self):#连接Jenkins
server = jenkins.Jenkins(jenkins_url, username=jenkins_user, password=jenkins_password)
return server
def bulids_job(self):
global get_number2
server = self.stats_jenkinsjob()
server_build = self.connet_jenkinsjob()
server_build.build_job(jobname, params=param_dict) # 待观察这个问题有解决方案不 进行项目的编译
sql = "update auto_caseList SET runStart='运行中' WHERE id= '" + key + "'""
try:
get_number2 = server.get_job_info(jobname)['nextBuildNumber'] #获取下一个编译版本号
get_number = server.get_job_info(jobname)['lastBuild']['number'] #获取编译的版本号
except Exception, e:
print "首次创建所以获取不到编译的版本号", e
self.mysql_uptate_operation(sql)
else:
get_buildstats = server.get_build_info(jobname, get_number)['building']#获取编译的状态,是否在编译
if get_buildstats == False:
print "编译中,数据状态进行更新"
else:
print "没有编译"
finally:
sleep(23) #一定要加,在启动编译后,不能马上获取编译状态,不然一直是编译成功,如果Jenkins编译失败是会在20-23S之间
status=server.get_build_info(jobname, get_number2)['result']#获取编译的状态,编译是否成功,如果不成功,就会返回FAILURE,编译成功是返回NONE
if status == "FAILURE":
print "构建出错: %s | 构建项目编号:%s" % (jobname, get_number2)
sql = "update auto_caseList SET runStart='构建出错' WHERE id= '" + key + "'""
self.mysql_uptate_operation(sql)
else:
print "构建成功:%s | 构建项目编号:%s" % (jobname, get_number2)
我这里的逻辑是获取到编译状态后,在等23s后查看编译是否成功,如果编译成功,编译完成会是None,而不通过的就是FAILURE
Jenkins获取编译状态的更多相关文章
- jenkins 构建 job 并获取其状态的实现
目录 BACKGROUND INVESTIGATION I 1. 连续触发的相同 job 构建不会重复入队 2. 连续触发的不同 job 构建会各自入队 3. 参数变动的相同 job 构建将分别入队 ...
- [原]Jenkins(七)---jenkins项目编译测试发布由maven构建的web项目
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...
- [React Native]获取网络状态
使用React Native,可以使用NetInfo API获取手机当前的各个网络状态. componentWillMount() { NetInfo.fetch().done((status)=&g ...
- 系统编程-网络-tcp客户端服务器编程模型(续)、连接断开、获取连接状态场景
相关博文: 系统编程-网络-tcp客户端服务器编程模型.socket.htons.inet_ntop等各API详解.使用telnet测试基本服务器功能 接着该上篇博文,咱们继续,首先,为了内容的完整性 ...
- iOS 获取网络状态
在iOS开发者,获取网络状态比较常用 -(NSString *)getNetWorkStates{ UIApplication *app = [UIApplication sharedApplicat ...
- C# 获取时间差状态
/// <summary> /// 根据时间获取时间状态 /// </summary> /// <param name="dt"></pa ...
- Best Practices for Performance_4.Optimizing Battery Life 获取充电状态、电池信息,"sticky"类型的广播
http://developer.android.com/training/monitoring-device-state/index.htmlhttp://developer.android.com ...
- Android 通过广播获取网络状态
Android系统网络连接状态的改变会发一个广播,注册一个广播接收者,实时动态的检测网络状态,及时提醒用户,优化用户体验. 本文仅提供WIFI 状态的检测作为参考,其他网络连接方式请 ...
- 如何在使用 RemoteWebDriver 打开网页的同时获取 Http 状态码
最近一直在用Selenium这个开源项目写一些web 自动化的小玩意.本来一直运行的挺好,直到有一天突然发现资源抓取失败了,翻看日志才发现,原来本该正常打开的页面返回了504错误所以自然失败了.如何避 ...
随机推荐
- linux编程之GDB调试
GDB是一套字符界面的程序集,可以用它在linux上调试C和C++程序,它提供了以下的功能: 1 在程序中设置断点,当程序运行到断点处暂停 2 显示变量的值,可以打印或者监视某个变量,将某个变量的值显 ...
- ubuntu上安装R的时候遇到的问题总结
首先感谢这两篇博客的指导,第一篇是关于报错的总结,第二篇是第一篇中没有提到的错误,也就是我在安装的时候出现的错误. 1.下载R包 (去官网选择一个离你最近的镜像网址,我的是清华提供的镜像下载速度比较快 ...
- JAVA工具系列之——Postman
1 概述 Postman是一款测试rest接口的工具,可以实现前端未实施的情况下,后端同步开发.本文从部署到运用进行展开描写. 2 部署 第一步:进入Postman官网下载最新版本,下载链接 第二步: ...
- Java包装类、拆箱和装箱详解
转载:https://www.cnblogs.com/ok932343846/p/6749488.html 虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程, ...
- golang 的md5加密
先看实现代码: package main import ( "crypto/md5" "encoding/hex" "fmt& ...
- pollard_rho 算法进行质因数分解
//************************************************ //pollard_rho 算法进行质因数分解 //*********************** ...
- 【Android】利用回收机制创建ListView列表实现
MainActivity.java package com.glandroid.listviewdemo; import android.graphics.Color; import android. ...
- Event percentages解析
Event percentages: 0:--pct-touch//touch events percentage触摸事件百分比(触摸事件是一个在屏幕单一位置的按下-抬起事件) 1:--pct-mot ...
- Week1——JavaEE
本科目标 首先,对我来说自己想走的方向是JavaWeb后台开发,因此JavaEE对我来说也是比较重要的,想学好这门课.进一步巩固自己现有的基础知识,完善自己的项目经验,更加熟悉开发流程.在框架方面我还 ...
- bootstrap-table 分页增删改查之一(增加 删除)
先上效果图 引入js文件 <!--js jquery --> <script type="text/javascript" src="${pageCon ...