Skip to content

Instantly share code, notes, and snippets.

@nextrevision
Created December 3, 2015 17:30
Show Gist options
  • Star 36 You must be signed in to star a gist
  • Fork 13 You must be signed in to fork a gist
  • Save nextrevision/d11b2df4e8b229c6855b to your computer and use it in GitHub Desktop.
Save nextrevision/d11b2df4e8b229c6855b to your computer and use it in GitHub Desktop.
Groovy script to delete all jenkins jobs that match a regex pattern
import jenkins.model.*
def matchedJobs = Jenkins.instance.items.findAll { job ->
job.name =~ /my_regex_here/
}
matchedJobs.each { job ->
println job.name
//job.delete()
}
@kiettisak-angkanawin
Copy link

👍

@pjlbyrne
Copy link

I tried this with /.*Name/ to find all jobs ending with 'Name', but it did not work. Can someone please advise? Thanks.

@pjlbyrne
Copy link

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)
        }
    }
}

@Harini0805
Copy link

Can anybody please provide the script to delete the jobs which are not been triggered from past 3 months...?

@OrlinVasilev
Copy link

good stuff!

@sakshi1225
Copy link

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