2014-06-19 86 views
3

我正在使用python-jenkins api來管理一些jenkins構建服務器。這些服務器非常容易加載 - 大量的工作和一些工作節省了數百個版本。python-jenkins get_job_info - 如何獲得超過100個構建的信息?

我的基本目標是使用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

如果能改用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) 
相關問題