Skip to end of metadata
Go to start of metadata

Bored to search randomly jobs configuration to found a particular build step example.
This script may help you.

import hudson.model.*
import hudson.tasks.*

//All the projects on which we can apply the getBuilders method
def allProjects = Hudson.instance.items.findAll{ it instanceof Project }

//All the registered build steps in the current Jenkins Instance
def allBuilders = Builder.all()

//Group the projects by the build steps used
def projectsGroupByBuildSteps = allBuilders.inject([:]){
   map, builder ->   
   map[] = allProjects.findAll{{}}.collect{}

   println """--- $it.key ---
  • No labels


  1. Runs on Jenkins 2.7.1, it produces an empty result for all builders, like below:Result: {org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder=[],[],[],

  2. I had to use: def allProjects = Hudson.instance.allItems.findAll{ it instanceof Project }

    We use folders to organize our jobs and the original ( Hudson.instance.items.findAll ) only listed the jobs at the top level.

    You probably also want to map collect{it.fullName} to show the folders

    The original page is 7+ years old, so things have evolved. Using Jenkins 2.121.3

    ps: switching to Publisher.all() will report all the post-build steps, which is equally handy.