Created
December 3, 2015 17:30
-
-
Save nextrevision/d11b2df4e8b229c6855b to your computer and use it in GitHub Desktop.
Groovy script to delete all jenkins jobs that match a regex pattern
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import jenkins.model.* | |
def matchedJobs = Jenkins.instance.items.findAll { job -> | |
job.name =~ /my_regex_here/ | |
} | |
matchedJobs.each { job -> | |
println job.name | |
//job.delete() | |
} |
I tried this with /.*Name/ to find all jobs ending with 'Name', but it did not work. Can someone please advise? Thanks.
This script recurses all jobs in all folders:
import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
import hudson.scm.*
import hudson.tasks.*
import com.cloudbees.hudson.plugins.folder.*
jen = Jenkins.instance
jen.getItems().each{
if(it instanceof Folder){
processFolder(it)
}else{
processJob(it)
}
}
void processJob(Item job){
if (job.name ==~ /.*None$/){
println job.name
}
}
void processFolder(Item folder){
folder.getItems().each{
if(it instanceof Folder){
processFolder(it)
}else{
processJob(it)
}
}
}
Can anybody please provide the script to delete the jobs which are not been triggered from past 3 months...?
good stuff!
Can you please advise on how to delete jobs (not folders) from root level in jenkins using groovy ?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
👍