Jenkins - 从 Groovy 访问 JAVA“getProperties”

我正在尝试使用 Jenkins Groovy 控制台来修改许多作业的配置。我需要访问一个包含此插件传递给 Maven 的附加属性的字段:


https://wiki.jenkins.io/display/JENKINS/Release+Plugin


所以我想出了如何访问插件类:


for(item in Hudson.instance.items) {

  if (item instanceof hudson.maven.MavenModuleSet)

  {

    println("\njob $item.name ");


    rw = item.getBuildWrappers().get(hudson.plugins.release.ReleaseWrapper.class);

    if (rw == null)

    {

      println("release build not configured");

    }

    else

    {

      println("\nrelease build configured");


      println(rw.getParameterDefinitions());

      println("\n");

      println(rw.getPreBuildSteps());

      println("\n");

      for(step in rw.getPreBuildSteps()){

         println("\nPROPERTIES: " + step.getProperties())


        for(property in step.getProperties()){

          println("\nPROP: " + property)

        }

      }


    }

  } 

}

属性:[设置:jenkins.mvn.DefaultSettingsProvider@307e9334,类:class hudson.tasks.Maven,maven:null,globalSettings:jenkins.mvn.DefaultGlobalSettingsProvider@a1e5a0,usePrivateRepository:false,描述符:hudson.tasks.Maven$DescriptorImpl@ 5481ba47,injectBuildVariables:true,目标:release:准备,requiredMonitorService:无]


不幸的是,属性字段是描述常规对象字段的字符串列表,而不是我正在寻找的数据。它应该是一个简单的字符串,包含 Maven 的附加属性。


https://javadoc.jenkins.io/hudson/tasks/Maven.html#properties


看起来 Groovy 已经用它的魔力覆盖了默认方法和字段。有没有办法到达属性?


慕田峪9158850
浏览 105回答 1
1回答

陪伴而非守候

我自己找到的。step.properties 到达 Groovy 属性。step.@properties 到达原始类方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java