背景

最近在工作中需要用到在后台代码中触发 Jenkins 任务的构建,于是想到 Jenkins 已经封装好的 API 类库,用于处理跟 Jenkins 相关的操作。Python-Jenkins API 提供了接口支持后端代码对 Jenkins 的大部分操作。可通过后端连接 jenkins 并创建、构建 Job 等。
Python-Jenkins 官网:https://pypi.python.org/pypi/python-jenkins/
Python-Jenkins Doc:http://python-jenkins.readthedocs.io/en/latest/index.html
安装:

sudo pip install python-jenkins  

创建 python 文件,引入 jenkins,即可完成操作 jenkins,此处不作详解。

1、连接 jenkins

可直接 import Jenkins 模块,定义访问 url、账户、密码,使用 jenkins.Jenkins 连接 jenkins,示例如下:

输入访问 jenkins 的 url、user_name、password,即可连接。

2、操作 job 模块

① 构建 job:
Job 分两种情况:
a、如创建的 job 无参数,可直接 server.build_job(job_name) 即可。
示例:

执行结果:

b、若创建的 job 需传递参数,参数需以字典形式传递:

server.build_job(job_name,{"param1":"value1", "param2":"value2",...} ) 

示例:

执行结果:

② 查看 job 信息:可通过 Python-Jenkins 提供的 get_job_info(job_name)查看 Jenkins 已创建的 Job 的配置信息、build 信息等。
示例:

查看结果部分截图:

③ 生效、失效 Job:Python_Jenkins 也提供了可开启、暂停 jenkins job 的功能:server.enable_job(job_name)/server.disable_job(job_name)。

④ 复制 job:server.copy_job('job', 'job_copy')

执行返回部分信息

Python-Jenkins 除此之外也提供了获取 job 最后版本号:server.get_job_info(job)['lastBuild']、判定 job 是否执行中:server.get_build_info(job,build_number)['building'] 等,此处不再一一枚举。

3、Python-Jenkins 操作 view 模块:

① 查看 view 配置信息:get_view_config(view_name)
示例

执行结果:

② 创建 view:create_view('view4', jenkins.EMPTY_VIEW_CONFIG_XML)

执行结果:

③ 删除 view:delete_view(view_name)

④ 判定 view 是否存在:view_exists(view_name),对应返回 true 及 none
示例:

Python-Jenkins 除操作 Job、view 外也可对 Jenkins Plugins、Jenkins Nodes。具体使用且听下次分解


↙↙↙阅读原文可查看相关链接,并与作者交流