如何通过python代码获取jenkins作业的内部版本号

时间:2016-01-27 07:35:06

标签: python jenkins

我正在使用 jenkinsapi 包开发一个python代码来处理jenkins。我正在寻找一种简单的方法来传递作业名称并获取该作业的最新版本号。示例

from jenkinsapi import jenkins
ci_jenkins_url = "job url"
username = None
token = None
job = "Test 3"
j = jenkins.Jenkins(ci_jenkins_url, username=username, password=token)

if __name__ == "__main__":
    j.build_job(job)

这是成功触发构建,但我需要获取内部版本号以便继续进行。任何帮助都将受到高度赞赏

3 个答案:

答案 0 :(得分:3)

有两种方式:

方式1: 使用以下API -

从URls上方,您可以从builds块获取最新版本号。 有关详细信息:请查看http://(jenkins_url):8080/job/(jobname)/api/

Way2:使用jenkinsapi模块

import jenkinsapi
from jenkinsapi.jenkins import Jenkins
server = Jenkins(jenkins_url,username=<<>>,password=<<>>)
print(server.get_job("jobname").get_last_buildnumber())

答案 1 :(得分:2)

Job 对象实现了几种获取最后一次构建,最后完成构建,最后一次稳定构建等的构建号的方法。

jenkins_server = jenkins.Jenkins(ci_jenkins_url, username=username, password=token)
my_job = jenkins_server.get_job('My Job Name')
last_build = my_job.get_last_buildnumber()

您可以以交互方式使用Python来探索不具备完整在线文档的软件包的API:

>>> jenkins_server = jenkins.Jenkins(...)
>>> job = jenkins_server.get_job('My Job Name')
>>> help(job)

答案 2 :(得分:0)

问题解决了。已经卸载了slack-api并且只安装了python-jenkins。现在记录的方法正在运作