我有一个Jenkins示例,有多个团队在使用它。它经常变得混乱,人们在测试后不删除他们的测试作业。有没有办法删除未使用的作业(在过去6个月内没有运行),包括他们的工作区?
dy1byipe1#
您可以使用下面的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() } }
1条答案
按热度按时间dy1byipe1#
您可以使用下面的Groovy脚本来实现这一点。注解掉删除的部分,并在使用之前测试它,以确保它是您所需要的:)