As @Pratik Anand noted, you first need to install the CloudBees Folders plugin .
However, if you want to move many projects at the same time, it is much faster to do this with the script console . This groovy script does the trick:
def FOLDER_NAME = '<An existing destination folder>' def JOB_REGEX = '<A regex to find your jobs>' import jenkins.* import jenkins.model.* import hudson.* import hudson.model.* jenkins = Jenkins.instance def folder = jenkins.getItemByFullName(FOLDER_NAME) if (folder == null) { println "ERROR: Folder '$FOLDER_NAME' not found" return } // Find jobs in main folder def found = jenkins.items.grep { it.name =~ "${JOB_REGEX}" } println "Searching main folder : $found" // Find jobs in other subfolders jenkins.items.grep { it instanceof com.cloudbees.hudson.plugins.folder.Folder }.each { subfolder -> if(!subfolder.getName().equals(FOLDER_NAME)) { println "Searching folder '$subfolder.name'" subfolder.getItems().grep { it.name =~ "${JOB_REGEX}" }.each { job -> println "Found $job.name" found.add(job); } } } // Move them found.each { job -> println "Moving '$job.name' to '$folder.name'" Items.move(job, folder) }
I used Daniel Serodio in this thread and modified it to find subfolders. Please note that this is not completely recursive.
source share