3
我目前正在編寫一個有多個構建器的jenkins插件。我想分享所有構建器中描述符/ global.jelly中的字段。我怎樣才能分享這些信息?我可以使用繼承或封裝嗎?如何在編寫jenkins插件時共享全局配置字段?
我目前正在編寫一個有多個構建器的jenkins插件。我想分享所有構建器中描述符/ global.jelly中的字段。我怎樣才能分享這些信息?我可以使用繼承或封裝嗎?如何在編寫jenkins插件時共享全局配置字段?
一個良好的開端是搜索詹金斯github repository
你想要的代碼是
Jenkins.getInstance().getDescriptor(MyPluginWithGlobalConfig.class)
,這將給你的描述符回你想要的(因爲有描述符的只有一個實例)
這裏是一個I在一個plugin使用(在常規),其取出的描述符然後在其上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;
}
爲了以防萬一,請注意,對於全局配置的插件,最好擴展專用的[GlobalConfiguration類](http://javadoc.jenkins-ci.org/?jenkins/model/GlobalConfiguration.html) ,作爲[插件](http://javadoc.jenkins-ci.org/?jenkins/model/Plugin.html)重寫最近[已棄用](https://github.com/jenkinsci/jenkins/commit/3a83504e3d08f5eb5b9787d9810f8cd40167dc10 )。 –