Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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

This comment has been minimized.

Copy link

kiettisak-angkanawin commented May 11, 2017

👍

@pjlbyrne

This comment has been minimized.

Copy link

pjlbyrne commented Nov 24, 2017

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

@pjlbyrne

This comment has been minimized.

Copy link

pjlbyrne commented Nov 24, 2017

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

This comment has been minimized.

Copy link

Harini0805 commented Aug 14, 2018

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

@OrlinVasilev

This comment has been minimized.

Copy link

OrlinVasilev commented Oct 16, 2018

good stuff!

@sakshi1225

This comment has been minimized.

Copy link

sakshi1225 commented Jul 8, 2019

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
You can’t perform that action at this time.