如何一次禁用多个Hudson/Jenkins作业

如何一次禁用多个Hudson/Jenkins作业,jenkins,groovy,hudson,hudson-api,Jenkins,Groovy,Hudson,Hudson Api,我使用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 //Initialli

我使用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
//设置要列出的作业的期限(以天为单位)
def numDaysBack=30
def cutOfDate=System.currentTimeMillis()-1000L*60*60*24*numDaysBack
//将其初始化为零
def oldJobsNumber=0
def size=hudson.model.hudson.instance.getItems().size()
println“哈德逊河上的作业总数:+尺寸
对于(i=0;i
import com.cloudbees.hudson.plugins.folder.folder)
def allJob=hudson.model.hudson.getInstance().getItems()
对于(int i=0;i
import com.cloudbees.hudson.plugins.folder.Folder

def  allJob= hudson.model.Hudson.getInstance().getItems()

for(int i=0; i<allJob.size(); i++){
    def job = allJob[i]
    if(job instanceof hudson.model.Project && job .getLastBuild() != null ){
        processJob(job)
    }else if(job instanceof Folder){
        processFolder(job)
    }
}

void processFolder(Item folder){
println "Processing Folder -"+folder.getFullName()
folder.getItems().each{
    if(it instanceof com.cloudbees.hudson.plugins.folder.AbstractFolder){
        processFolder(it)
    }else{
        processJob(it)
    }
}
}

void processJob(Item job){
   if(job instanceof hudson.model.Project && job .getLastBuild() != null ){
    println  job.getFullName() +" -- "+job.getLastBuild().getTimeInMillis()
// Now you can chek time here And if the condition is met then 
    // job.disable()
  }
}