这是我制作的可检测多分支或组织触发器的脚本。如果项目尚不存在,它将创建一个触发器。注意:addTrigger部分已被注释掉,因此按原样运行应该是安全的。
import com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTriggerimport jenkins.model.Jenkinsimport jenkins.branch.OrganizationFolderimport hudson.model.Jobprojects = [:]Jenkins.instance.getAllItems(AbstractItem.class).each { j -> String jc = j.class.simpleName if(!(jc in projects)) { projects[jc] = 0 } projects[jc]++}println "Count projects by type for: " + Jenkins.getInstance().getRootUrl()println " Current Jenkins version: " + Jenkins.getInstance().versionprojects.each { type, count -> println " ${type}: ${count}"}println "n-------Organization Items-------"Jenkins.instance.getAllItems(jenkins.branch.OrganizationFolder.class).each { j -> String jobName = j.fullName Integer triggerCount = j.triggers.findAll { k,v -> v instanceof com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger}.size() if (triggerCount > 0) { myInterval = j.triggers.findAll { k,v -> v instanceof com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger} .each { k,v -> println " trigger count: ${triggerCount} Interval: ${v.getInterval()}, jobName: ${jobName}" } } else { def newInterval = new PeriodicFolderTrigger("1d") println " trigger count: ${triggerCount} Interval: NULL, jobName: ${jobName}" //println " creating trigger for ${jobName}" //j.addTrigger(newInterval) //j.save() }}println "n-------Multibranch Items-------"Jenkins.instance.getAllItems(org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject.class).each { j -> String jobName = j.fullName Integer triggerCount = j.triggers.findAll { k,v -> v instanceof com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger}.size() if (triggerCount > 0) { myInterval = j.triggers.findAll { k,v -> v instanceof com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger} .each { k,v -> println " trigger count: ${triggerCount} Interval: ${v.getInterval()}, jobName: ${jobName}" } } else { def newInterval = new PeriodicFolderTrigger("1d") println " trigger count: ${triggerCount} Interval: NULL, jobName: ${jobName}" //println " creating trigger for ${jobName}" //j.addTrigger(newInterval) //j.save() }}return


