Last active
November 10, 2024 18:12
-
-
Save cccaternberg/e1cd1f6ead5e40e3d37e57d23430e94d to your computer and use it in GitHub Desktop.
listAllJobtriggers
This file contains 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.Jenkins | |
import com.cloudbees.hudson.plugins.folder.Folder | |
import hudson.triggers.TimerTrigger | |
def listAllJobs(folder, indent = "") { | |
folder.getItems().each { item -> | |
if (item instanceof Folder) { | |
// Print folder name and recurse into subfolder | |
println "${indent}Folder: ${item.fullName}" | |
listAllJobs(item, indent + " ") | |
} else { | |
// Print job name | |
if (item.metaClass.respondsTo(item, "getTriggers")){ | |
def triggers = item.getTriggers() | |
def job = item.fullName | |
triggers.each { trigger, descriptor -> | |
job=job + "cron:" + descriptor | |
} | |
println "${indent}Job: ${job}" | |
} | |
} | |
} | |
} | |
// Start from the root folder (Jenkins instance) | |
println "Listing all jobs from Jenkins Controller root:" | |
listAllJobs(Jenkins.instance) |
This file contains 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.Jenkins | |
import com.cloudbees.hudson.plugins.folder.Folder | |
import hudson.triggers.TimerTrigger | |
def listAllJobs(folder, indent = "") { | |
folder.getItems().each { item -> | |
if (item instanceof Folder) { | |
// Print folder name and recurse into subfolder | |
println "${indent}Folder: ${item.fullName}" | |
listAllJobs(item, indent + " ") | |
} else { | |
// Print job name | |
if (item.metaClass.respondsTo(item, "getTriggers")){ | |
def triggers = item.getTriggers() | |
def job = item.fullName | |
triggers.each { triggerName, trigger -> | |
if (trigger instanceof hudson.triggers.TimerTrigger) { | |
// Output the cron pattern | |
println "Cron pattern for job '$job': ${trigger.spec}" | |
} | |
} | |
println "${indent}Job: ${job}" | |
} | |
} | |
} | |
} | |
// Start from the root folder (Jenkins instance) | |
println "Listing all jobs from Jenkins Controller root:" | |
listAllJobs(Jenkins.instance) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment