我正在使用 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)
这是成功触发构建,但我需要获取内部版本号以便继续进行。任何帮助都将受到高度赞赏
答案 0 :(得分:3)
有两种方式:
方式1: 使用以下API -
访问与Python客户端相同的数据:
http://(jenkins_url):8080/job/(jobname)/api/python?pretty=true
访问与JSON相同的数据以进行基于JavaScript的访问:
http://(jenkins_url):8080/job/(jobname)/api/json?pretty=true
将HTML中公开的数据作为XML进行访问以供机器使用:
从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)