我使用 groovy 脚本来获取所有超过 30 天的 Hudson 作业。使用下面的脚本。作为该脚本的一部分,我还想禁用所有旧作业,有人可以建议如何执行此操作。
下面是哈德森的脚本。
// Set how old the jobs to list should be (in days)
def numDaysBack = 30
def cutOfDate = System.currentTimeMillis() - 1000L * 60 * 60 * 24 * numDaysBack
//Initiallize it to zero
def oldJobsNumber = 0
def size = hudson.model.Hudson.instance.getItems().size()
println "Total Number of Jobs on hudson :" + size
for (i=0;i<size;i++){
def allJob= hudson.model.Hudson.getInstance().getItems().get(i).getAllJobs()
def job =new ArrayList(allJob).get(0)
if (job != null && job .getLastBuild() != null && job.getLastBuild().getTimeInMillis() < cutOfDate) {
println job.getFullName()
oldJobsNumber++
}
}
println oldJobsNumber