From da54caf849f59c6bfc91d0de0d945788e542f05d Mon Sep 17 00:00:00 2001 From: Ajay-AJ <84303825+AjayMyana39@users.noreply.github.com> Date: Thu, 10 Jun 2021 22:44:44 +0530 Subject: [PATCH] jenkins-oldbuilds-delete --- jenkins_delete_old-builds.groovy | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 jenkins_delete_old-builds.groovy diff --git a/jenkins_delete_old-builds.groovy b/jenkins_delete_old-builds.groovy new file mode 100644 index 0000000..88eac82 --- /dev/null +++ b/jenkins_delete_old-builds.groovy @@ -0,0 +1,26 @@ +MAX_BUILDS = 10 // max builds to keep + +def jobs = Jenkins . instance . items; + +for (job in jobs) { + println " Job: " + job . yam + try { + if (job instanceof jenkins.branch.MultiBranchProject ) { + println " Multibranch " + job = job . getJob ( " master " ) + } + def recent = job . builds . limit ( MAX_BUILDS ) + println " Recent Builds: " + recent + println " ============================= " + + for (build in job . builds) { + if ( ! recent . contains (build) && ! build . isBuilding ()) { + println " Deleting: " + build + build . delete () + println " " + } + } + } catch ( Exception ex) { + continue + } +}