您的位置:

Jenkinsapi文档详解

一、简介

Jenkinsapi是一个用于与Jenkins构建服务器交互的Python库,它充分利用了Jenkins REST API的功能,使得用户可以通过Python代码与Jenkins进行交互。以下是该库的特点:

1.简洁易用,以Pythonic方式提供了与Jenkins的各种交互接口;

2.完全兼容Jenkins REST API,可以处理复杂的操作并提供灵活的控制;

3.面向对象编程方式,使得用户可以直观地操作Jenkins的项目、视图、构建、插件等;

4.提供了详细的文档和示例代码,可以加快Python开发工具与Jenkins的集成过程。

使用Jenkinsapi可以快速地开发与Jenkins的交互程序,例如监控构建,创建build过程中用到的Jenkins相关资源,修改Jenkins job等等。

二、安装

可以使用pip在Python环境中进行Jenkinsapi的安装。以下是安装步骤:

pip install jenkinsapi

如果您的电脑上有多个Python版本,请确保Jenkinsapi所在的Python环境是您需要使用的Python环境。

三、基本用法

使用Jenkinsapi与Jenkins进行交互,可以通过创建Jenkins实例来完成,代码示例如下:

from jenkinsapi.jenkins import Jenkins

url = 'http://localhost:8080'
username = 'admin'
password = 'admin'

jenkins = Jenkins(url, username, password)

其中url是指向Jenkins服务器的URL,username和password都是可选填的参数,可以用于访问受保护的Jenkins实例。

一旦您创建了Jenkins实例,就可以开始使用Jenkinsapi提供的各种方法来与Jenkins进行交互,以下是几个常见的Jenkinsapi示例:

四、获取所有的Jobs

jobs = jenkins.get_jobs()

for job_name, job_instance in jobs:
    print('Job Name: {}\n'.format(job_name))

五、获取特定的Job

job = jenkins.get_job('job_name')

print('Job Name: {}\n'.format(job.name))

六、获取Job的最新构建

job = jenkins.get_job('job_name')
last_build = job.get_last_build()

print('Last Successful Build Number: {}\n'.format(last_build.get_number()))

七、触发Job的构建

job = jenkins.get_job('job_name')
job.invoke()

八、创建或修改Job

job_config = '''
    <hudson.model.FreeStyleProject>
        <actions/>
        <description>This is a new job.</description>
        <keepDependencies>false</keepDependencies>
        <properties/>
        <scm class="hudson.scm.NullSCM"/>
        <canRoam>true</canRoam>
        <disabled>false</disabled>
        <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
        <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
        <triggers/>
        <concurrentBuild>false</concurrentBuild>
        <builders/>
        <publisherst/>
        <buildWrappers/>
    </hudson.model.FreeStyleProject>
'''

job_name = 'new_job'
jenkins.create_job(job_name, job_config)

# Update Job Config
job = jenkins.get_job(job_name)
job.update_config(job_config)

九、Jenkinsapi文档参考

以下是Jenkinsapi文档的链接地址,您可以在该链接下找到更多的Jenkinsapi文档和示例代码。

https://jenkinsapi.readthedocs.io/en/latest/