Plugins 在编写jenkins插件时,如何共享全局配置字段?
我目前正在编写一个jenkins插件,它有多个构建器。我想在所有构建器中共享descriptor/global.jelly中的字段。我如何分享这些信息?我可以使用继承还是封装?一个好的开始是搜索Jenkins 你想要的代码是Plugins 在编写jenkins插件时,如何共享全局配置字段?,plugins,jenkins,share,Plugins,Jenkins,Share,我目前正在编写一个jenkins插件,它有多个构建器。我想在所有构建器中共享descriptor/global.jelly中的字段。我如何分享这些信息?我可以使用继承还是封装?一个好的开始是搜索Jenkins 你想要的代码是 Jenkins.getInstance().getDescriptor( MyPluginWithGlobalConfig.class ) 这将返回您想要的描述符(因为只有一个描述符实例) 下面是我在(groovy中)中使用的一个方法,它获取一个描述符,然后对其调用一个方
Jenkins.getInstance().getDescriptor( MyPluginWithGlobalConfig.class )
这将返回您想要的描述符(因为只有一个描述符实例)
下面是我在(groovy中)中使用的一个方法,它获取一个描述符,然后对其调用一个方法
@覆盖
公共列表重建(列表){
SeleniumDynamicCapability.DescriptorImpl sdcd=Jenkins.getInstance().getDescriptor(SeleniumDynamicCapability.class)
List sc=sdcd.loadDefaultItems()
如果(sc.size()==0)
抛出(新的SeleniumException(“未检测到硒功能”))
设置元件能力(sc)
sc.each{list.add(it.toString())}
退货清单;
}
以防万一,还请注意,对于带有全局配置的插件,最好扩展专用配置,就像最近的覆盖一样。
@Override
public List<String> rebuild(List<String> list){
SeleniumDynamicCapability.DescriptorImpl sdcd = Jenkins.getInstance().getDescriptor(SeleniumDynamicCapability.class)
List<SeleniumCapabilityRO> sc = sdcd.loadDefaultItems()
if (sc.size() == 0)
throw(new SeleniumException("No selenium capabilities detected"))
setSeleniumCapabilities(sc)
sc.each{list.add(it.toString())}
return list;
}