[英]python - how to get branch name from a specific build from jenkins?
我們在辦公室使用Git,jenkins和python。
我們每天使用jenkins構建一個新的SW版本。
如何使用Jenkins的Python獲取構建所屬的分支名稱?
在Jenkins中是否有任何API(函數調用)可以將構建號作為參數給出,它是否給出了分支號?
臨時解決方案
我們還為每個構建都有一個git標記,格式如下:
<build>_<username>_<branch>
我目前使用以下git命令來獲取標記:
git ls-remote --tags <git-repo> | grep BUILD-NUMBER
一旦我有了標簽,我就用正則表達式從中提取分支名稱。
提前致謝。
檢查jenkinsapi https://pypi.python.org/pypi/jenkinsapi
有了它你可以做:
>>> from jenkinsapi.jenkins import Jenkins
>>> job_name = 'example_job'
>>> build_number = 123
>>> server = Jenkins('http://localhost:8080', username='user', password='passwd')
>>> build = server.get_job(job_name).get_build(build_number)
>>> rev = build.get_revision_branch()[0].get('name')
>>> print rev
refs/remotes/origin/master
>>> rev.rsplit('/', 1)[1]
'master'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.