点击上方蓝字关注我们!
背景
最近在工作中需要用到在后台代码中触发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,此处不作详解。
连接jenkins
可直接import Jenkins模块,定义访问url、账户、密码,使用jenkins.Jenkins连接jenkins,示例如下:
输入访问jenkins的url、user_name、password,即可连接。
操作job模块
- 构建job:
Job分两种情况:
server.build_job(job_name)
示例:
执行结果:
②. 若创建的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’]等,此处不再一一枚举。
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 关注公众号具体使用且听下次分解。