1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

使用Python操作Jenkins(创建,构建,获取Job日志和报告)

1987web2023-10-06WEB开发229

模块安装

pip install python-jenkins

使用前准备

首先要获取Jenkins的授权令牌,这样Python才能拿到访问权(自行百度怎么获取)

模块使用方法

1. 初始化Jenkins连接

jk= jenkins.Jenkins(url=Jenkins地址, username=用户名, password=授权令牌)

2. Job基本操作

2.1 创建Job

创建有2种方式,可以创建一个新的,也可以基于已有的Job模板创建

我这里使用Job模板创建

xml= jk.get_job_config(模板job名称)获取模板配置文件jk.create_job(name=新的job名称, config_xml=xml)

2.2 构建Job

构建有2种方式:

普通构建

jk.build_job(name=构建的job名称)

参数化构建

jk.build_job(name=构建的job名称, parameters=构建的参数,字典类型)

2.3 停止一个正在运行的Job

jk.stop_build(job名称,构建编号ID)

2.4 激活Job状态为可以构建

jk.enable_job(job名称)

2.5 变更Job状态为不可以构建

jk.disable_job(job名称)

2.6 删除Job

jk.delete_job(job名称)

3. 获取Job信息

3.1 获取Job的初始配置参数

就是Job的Build with Parameters内容

result = []
for each in jk.get_job_info(job名称)[property]:
if ParametersDefinitionProperty in each[_class]:
data = each[parameterDefinitions]
for params in data:
temp_dict = dict()
temp_dict[name] = params[defaultParameterValue][name]
temp_dict[value] = params[defaultParameterValue][value]
temp_dict[description] = params[description]
result.append(temp_dict)
print(result)

3.2 获取Job任务状态

获取流程:先获取到构建编号,再通过构建编号获取任务状态

这里我们一般是获取最后一次构建的任务状态,所以要先获取到最后一次构建的编号:

last_build_number = jk.get_job_info(job名称)[lastBuild][number]

通过构建编号获取任务状态:

status= jk.get_build_info(job名称, last_build_number)[result]print(status)  状态有4种:SUCCESS|FAILURE|ABORTED|pending

3.3 获取Job控制台日志

通过构建编号获取控制台日志:

result = jk.get_build_console_output(name=job名称, number=last_build_number)print(result)

3.4 获取Job测试报告

通过构建编号获取测试报告:

result = jk.get_build_test_report(name=job名称, number=last_build_number)print(result)

项目地址:https://inedo.com/buildmaster

值得推荐的13个Jenkins替代方案

Jenkins是目前最常用的持续集成工具,拥有近50%的市场份额,它还是很多技术团队的第一个使用的自动化工具。但是随着自动化领域的持续发展,Jenkins