python操作jenkins、python-jenkins api


Jenkins作為最流行的自動化流程的核心工具,我們使用它自帶的web-ui完全可以滿足日常的構建及發布工作,但是如果需要和其他系統做集成就必須二次開發或者通過API方式進行交互了。

Jenkins介紹及相關

python版本的API調用
目前python版本的API主要有兩個第三方包

1. JenkinsApi

github地址
官方文檔

2. Python-Jenkins

github地址
官方文檔

這里寫下關於python-jenkins的一些api
3. python-jenkins API示例

from jenkins import Jenkins


# 創建 Jenkins實例的 handle
jen = Jenkins(url="http://xxxxx.com", username="root", password="password")

job_name = "jenkins_test"

# 返回job的個數
jen.jobs_count()

# 返回所有的job,列表格式
jen.get_jobs()
jen.get_all_jobs()

# 返回job信息,字典格式
jen.get_job_info(name=job_name)

# 返回名字匹配的job的信息,列表格式
pattern = "^jen"
jen.get_job_info_regex(pattern=pattern)

# 返回job信息,易閱讀的格式
jen.debug_job_info(job_name=job_name)

# 返回 HTTP 響應體 ,字符串形式
url = "http://148.70.212.152:9090/job/2048test/"
jen.jenkins_open(req=url)

# 返回第n次構建信息,字典格式
n = 1
jen.get_build_info(name=job_name, number=n)

# 返回第n次構建環境變量
jen.get_build_env_vars(name=job_name, number=n)

# 返回第n次測試報告
jen.get_build_test_report(name=job_name, number=n)

# 返回所以job信息字典,字典格式
jen.get_queue_info()

# 取消隊列中的某個構建
jen.cancel_queue(id=n)

# 返回當前用戶賬號信息, 字典格式
jen.get_whoami()

# 返回版本信息, 字符串格式
jen.get_version()

# 返回所有已安裝的插件信息,列表格式
jen.get_plugins()

# 返回某個插件的信息,字典格式
jen.get_plugin_info(name="插件名字")

# 復制一個jenkins任務
new_name = "new_job"
jen.copy_job(from_name=job_name, to_name=new_name)

# 重命名一個job
jen.rename_job(from_name=job_name, to_name=new_name)

# 刪除一個job
jen.delete_job(name=job_name)

# 啟用一個job
jen.enable_job(name=job_name)

# 禁止一個job
jen.disable_job(name=job_name)

# 設置下次構建的序號
jen.set_next_build_number(name=job_name, number=n)

# 判斷job是否存在
jen.job_exists(name=job_name)

# 創建一個job
jen.create_job(name=job_name, config_xml="配置信息xml字符串格式")

# 獲取job的配置
jen.get_job_config(name=job_name)

# 重新配置Job
jen.reconfig_job(name=job_name, config_xml="配置信息xml字符串格式")

# 出發構建job
parameters = "參數,默認為None"
jen.build_job(name=job_name, parameters=None)

# 安裝插件
jen.install_plugin(name="插件名字")

# 停止正在運行的jenkins構建
jen.stop_build(name=job_name, number=n)

# 刪除構建
jen.delete_build(name=job_name, number=n)

# 獲取正在運行的構建
jen.get_running_builds()





其他關於node,view的方法請見官網:https://python-jenkins.readthedocs.io/en/latest/api.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM