DevOps神器Jenkins使用精髓第五弹之API的使用

全部文章

DevOps神器Jenkins使用精髓第O弹之开头
DevOps神器Jenkins使用精髓第一弹之初始化配置
DevOps神器Jenkins使用精髓第三弹之常用插件
DevOps神器Jenkins使用精髓第四弹jenkins Pipeline起步
DevOps神器Jenkins使用精髓第五弹之API的使用

简介

很明显jenkinsAPI可帮助实现自动化,我们公司的代码发布系统就是使用django和jenkinsAPI构建的。由于本人是python程序员,因此有如下两种使用姿势:

1. 使用curl命令:由于linux原生支持curl命令,因此常出现在shell程序中
2. 使用python-jerkins API:需要更多结构化支持的场景下

shell程序中
curl -u jenkins:adc123 http://localhost:8080/job/test/buildWithParameters?token=test\&Foo=bar
python程序中

python-jenkins官方文档

import jenkins

#修改文件编码
reload(sys) #重新载入sys库,不然没有setdefaultencoding方法
sys.setdefaultencoding("utf-8") #用于设定代码文件编码

#jenkins API
server = jenkins.Jenkins('http://localhost:8080', username='jenkins', password='adc123') #创建jenkins对象
base_job_xmlstr = server.get_job_config('test') #得到unicode类型的jenkins job模板
server.create_job('test', jenkins.EMPTY_CONFIG_XML) #创建job
server.get_jobs() #得到所有job
server.build_job('test')# 构建job
server.disable_job('test') #禁用job,可以用暂停job
server.enable_job('test') #恢复禁用的job
server.reconfig_job('test', new_job) #使用new_job这个xml对象覆盖test这个job
server.copy_job('test', 'new_test') #复制job
server.reconfig_job('test', jenkins.RECONFIG_XML) #清空job
server.delete_job('test') #删除job
server.get_job_info('test')['lastCompletedBuild']['number'] #获取test job最后一个构建的序列号

你可能感兴趣的:(DevOps神器Jenkins使用精髓第五弹之API的使用)