Jenkins插件开发,为两个构建器使用一个全局配置?

时间:2014-06-02 14:19:51

标签: java jenkins jenkins-plugins

我正在开发的插件中有两个构建器,我希望它们共享相同的全局配置。我目前有一个可重复的服务器详细列表,我目前可以从builderA的配置下拉列表中选择我想要使用的服务器。我想为builderB的配置做同样的事情,但这要求我从builderA复制全局配置,用户填写两个全局配置。

无论如何我可以访问builderA的全局配置吗?或者使builderA的全局配置全局....

我发现了这个:Can two different jenkins builders exist in the same hpi and share the same global configuration?并将其复制,以进行测试,但它并没有告诉您如何在MyBuildStepAClass的perform方法中获取globalField1。

1 个答案:

答案 0 :(得分:0)

你可以这样做。我用selenium axis plugin做了,我需要保存在相关类中的selenium服务器的名称

这是常规但很容易转换。

//so we need this to get at the name of the selenium server in the global config
protected static Descriptor<? extends ComplexAxisDescriptor> getTopLevelDescriptor(){
    SeleniumAxis.DescriptorImpl sad = Jenkins.getInstance().getDescriptor(SeleniumAxis.class)
    sad.load()
    return sad
}

Source

我认为您需要更改

<? extends ComplexAxisDescriptor>

<? extends Descriptor>

并使用您的类的描述符,否则您的方法将无法访问