在编写jenkins插件时如何共享全局配置字段?

时间:2014-02-12 14:30:24

标签: plugins jenkins share

我目前正在编写一个拥有多个构建器的jenkins插件。我想在所有构建器中共享descriptor / global.jelly中的字段。我该如何分享这些信息?我可以使用继承或封装吗?

1 个答案:

答案 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;
}