繁体   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