我目前正在编写一个拥有多个构建器的jenkins插件。我想在所有构建器中共享descriptor / global.jelly中的字段。我该如何分享这些信息?我可以使用继承或封装吗?
答案 0 :(得分:2)
一个好的起点是搜索Jenkins github repository
您想要的代码是
Jenkins.getInstance().getDescriptor( MyPluginWithGlobalConfig.class )
这将为您提供所需的描述符(因为只有一个描述符实例)
这是我在plugin(在groovy中)中使用的一个,它获取描述符然后在其上调用一个方法source file
@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;
}