我正在使用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)
我发现 - 遗憾的是 - 作业信息字典中的构建数组永远不会包含超过100个条目,即使作业存储的构建数量也多于此。
让其他人看到这个限制,是否有任何解决方法,或者这个API对于具有大量存档构建计数的服务器是否无用?
答案 0 :(得分:0)
如果可以改为使用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)
答案 1 :(得分:0)
在使用python-jenkins模块获取100个以上的版本时,请使用fetch_all_builds=True
调用get_job_info函数