为了账号安全,请及时绑定邮箱和手机立即绑定

Jenkins - 从 Groovy 访问 JAVA“getProperties”

Jenkins - 从 Groovy 访问 JAVA“getProperties”

慕田峪9158850 2023-08-23 10:38:27
我正在尝试使用 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 已经用它的魔力覆盖了默认方法和字段。有没有办法到达属性?
查看完整描述

1 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

我自己找到的。

step.properties 到达 Groovy 属性。

step.@properties 到达原始类方法。


查看完整回答
反对 回复 2023-08-23
  • 1 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信