代码之家  ›  专栏  ›  技术社区  ›  Paul

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

  •  2
  • Paul  · 技术社区  · 7 年前

    Jenkins有数百个工作,我需要找到运行指定gradle任务的工作。我看到以下解决方案 1.检索所有作业(Jenkins.instance.projects) 2.迭代它们 3.获取xml配置并验证是否存在子字符串

    问题是如何从hudson检索xml表示。模型自由泳项目?或者这些数据可能存储为地图,那么问题将是如何调用它以及如何获取它?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Carolinne Torres    7 年前

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

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

    还有下一个可以列出所有Freestyle项目名称和gradle任务的groovy脚本:

    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())
        } 
      }
    }