龙空技术网

使用python脚本操作Jenkins-job

高攀之记 954

前言:

此刻兄弟们对“jenkins执行python”大致比较关心,朋友们都需要分析一些“jenkins执行python”的相关内容。那么小编也在网络上汇集了一些有关“jenkins执行python””的相关内容,希望大家能喜欢,看官们一起来了解一下吧!

今天在翻有道云笔记,看到了曾经在LS写过的一段python脚本,拿来给大家分享下

#!/usr/bin/python#-*- coding: utf-8 -*-import jenkinsimport timeimport sysimport jsondef  jenkins_job(job_name,kw=""):	server = jenkins.Jenkins(';, username='leo.li', password='111111')	reload(sys)	sys.setdefaultencoding('utf-8')	job_name=job_name.decode('gbk').encode('utf-8')	#kw={"app":"search-service","ip": "172.16.1.130","bantch":"master"}	print kw	kw_len=len(kw)	r1= server.get_job_info(job_name)['lastCompletedBuild']['number']#最后一次完成的构建号	r2= server.get_job_info(job_name)['lastBuild']['number']	print type(kw)	if kw_len != 0:		kwj1=eval(kw)		print kwj1		kwj2=json.dumps(kwj1)		print kwj2		kwj=json.loads(kwj2)		print kwj		print type(kwj)		parameters=kwj	else:		parameters={}	print u'构建号','r2=',r2	if r1 == r2:		server.build_job(job_name,parameters=parameters)		print u'正在发送构建命令,请等待10秒'		time.sleep(10)		num_id=server.get_job_info(job_name)['lastBuild']['number']		print u'新的构建号numb_id=',num_id		a=num_id-r2		print u'新旧构建号差值为a=',a		if a == 1:			re_rn=server.get_build_info(job_name,num_id)['building']			while re_rn :				print u'构建还在执行中,请等待10秒'				time.sleep(10)				re_rn=server.get_build_info(job_name,num_id)['building']			print u"构建完毕"			result1=server.get_build_info(job_name,num_id)['result']			print "构建结果是:%s" %result1		else:			print u'构建编号异常,请重试'	else:		print u'还有job正在执行中,请稍后再试'if __name__ == '__main__':		job_name=sys.argv[1]		if len(sys.argv) == 3 :		kw=sys.argv[2]		jenkins_job(job_name,kw)	if len(sys.argv) == 2 :		jenkins_job(job_name)

标签: #jenkins执行python