jenkins 如何获得超过100个版本的信息?

r7knjye2  于 2022-11-02  发布在  Jenkins
关注(0)|答案(2)|浏览(207)

我正在使用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只是对具有大量存档构建计数的服务器无用?

mnowg1ta

mnowg1ta1#

如果可以用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)
llycmphe

llycmphe2#

当使用python-jenkins模块获取100个以上的构建时,使用fetch_all_builds=True调用get_job_info函数

相关问题