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

使用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)
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取Jenkins pipeline的构建信息,可以使用python-jenkins插件提供的方法。具体步骤如下: 1. 首先,导入python-jenkins模块: ```python import jenkins ``` 2. 创建一个Jenkins对象,并连接到Jenkins服务器: ```python server = jenkins.Jenkins(jenkins_server, username=user_id, password=api_token) ``` 其中,jenkins_server是Jenkins服务器的URL,user_id和api_token是用于身份验证的用户名和API令牌。 3. 使用Jenkins对象的get_job_info方法获取指定pipeline的构建信息: ```python job_info = server.get_job_info('pipeline_name') ``` 其中,pipeline_name是要获取构建信息的pipeline的名称。 4. 通过job_info可以获取构建信息的各种属性,例如构建号、状态、开始时间、结束时间等。可以根据需要提取所需的信息。 以下是一个完整的示例代码: ```python import jenkins # 连接到Jenkins服务器 server = jenkins.Jenkins(jenkins_server, username=user_id, password=api_token) # 获取指定pipeline的构建信息 job_info = server.get_job_info('pipeline_name') # 提取构建信息的属性 build_number = job_info['lastBuild']['number'] build_status = job_info['lastBuild']['result'] build_start_time = job_info['lastBuild']['timestamp'] build_end_time = job_info['lastBuild']['timestamp'] # 打印构建信息 print("Build Number:", build_number) print("Build Status:", build_status) print("Build Start Time:", build_start_time) print("Build End Time:", build_end_time) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值