是否有办法批量删除未使用的jenkins作业?(最近6个月内没有运行)



我有一个Jenkins实例与多个团队使用它。它经常变得混乱,人们在测试后不删除他们的测试任务。是否有一种方法可以删除未使用的作业(在过去6个月内未运行),包括它们的工作区?

可以使用下面的Groovy脚本。注释掉删除部分,并在使用之前测试它,以确保它是您需要的:)

def deleteBefore = "2022/07/01"
Jenkins.instance.getAllItems(Job.class).each { jobitem ->
def jobName = jobitem.getFullName()

def deleteBeforeTime = new Date(deleteBefore).getTime()
def build = jobitem.getLastBuild() 

if(build == null || build.getTimeInMillis() <= deleteBeforeTime){ // If no builds, build is null

println build == null ? "Job " + jobName + " has never run, deleting the Job" : "Job " + jobName + " last ran on (" + build.getTime() + ") hence deleting"
jobitem.delete()

}    
}

最新更新