[英]get_job_info() giving item not found error : python-jenkins
[英]python-jenkins get_job_info - how do I get info on more than 100 builds?
我正在使用 python-jenkins api 来管理一些 jenkins 构建服务器。 服务器负载非常大 - 大量作业和一些作业已经保存了数百个构建。
我的一个基本目标是使用 API 获取每个作业的构建计数,以及所有作业的总构建计数。 这是代码:
import jenkins
jnk = jenkins.Jenkins(myUrl, myUsername, myPassword)
info = jnk.get_info()
jobs = info['jobs']
totalBuildCount = 0
for job in jobs:
jobName = job['name']
jobinfo = jnk.get_job_info(jobName)
builds = jobinfo['builds'] # never contains more than 100 items
print jobName + " build count: " + str(len(builds))
totalBuildCount += len(builds)
print "Total build count: " + str(totalBuildCount)
我发现 - 不幸的是 - 作业信息字典中的 builds 数组永远不会包含超过 100 个条目,即使作业存储了比这更多的构建。
其他人有没有看到这个限制,有没有办法解决它,或者这个 API 对具有大量存档构建计数的服务器没用?
如果可以使用 jenkinsapi 代替:
from jenkinsapi.jenkins import Jenkins
jnk = Jenkins(myUrl, myUsername, myPassword)
totalBuildCount = 0
for job in jnk.keys():
builds = jnk[job].get_build_dict()
print job + " build count: " + str(len(builds))
totalBuildCount += len(builds)
print "Total build count: " + str(totalBuildCount)
当使用 python-jenkins 模块获取超过 100 个构建时,使用fetch_all_builds=True
调用get_job_info函数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.