簡體   English   中英

python - 如何從jenkins的特定構建中獲取分支名稱?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM