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

废话不多说,直接上用法

模块安装

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)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐