如何通过groovy Web控制台检索作业配置?

问题描述 投票:1回答:1

我有Jenkins有几百个工作,我需要找到运行指定gradle任务的工作。我看到以下解决方案1.retrieve所有作业(Jenkins.instance.projects)2.iterate over them 3.get xml config并验证子串的存在

问题是如何从hudson.model.FreeStyleProject中检索xml表示?或者可能将这些数据存储为地图,问题将是如何调用以及如何获取它?

jenkins jenkins-groovy
1个回答
2
投票

之前我做了类似的事情但使用了shell脚本。不确定这种方法是否对您有用,但以防万一:

cd /var/lib/jenkins/jobs/
grep WORD */config.xml

还有下一个groovy脚本,可以列出所有FreeStyleProject名称和gradle任务:

def builderFilter = {  builder -> builder.class == hudson.plugins.gradle.Gradle.class }

jenkins.model.Jenkins.instance.getAllItems(hudson.model.FreeStyleProject.class).each{ job ->
  job.getBuilders().findAll(builderFilter).each{ gradleStep -> 
    gradleStep.each { gradleItem -> 
      println(job.getDisplayName() + ' ' + gradleItem.getTasks())
    } 
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.