繁体   English   中英

python-jenkins get_job_info - 如何获取 100 多个构建的信息?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM