2

我正在尝试扩展Jenkins Xcode 插件并希望集成一个后期构建步骤。

插件的当前状态允许通过 Jenkins 设置页面配置钥匙串。因此它实现了一个描述符并覆盖了它的configure方法。UI 在global.jelly文件中定义。

现在我想访问从另一个类配置的钥匙串。我创建了一个子类hudson.tasks.Notifier(该类与该类位于同一包中XCodeBuilder),它本身包含一个类 subclassing BuildStepDescriptor<Builder>。基本上我复制了类BuildStepDescriptor内部的内容XCodeBuilder,但是当试图显示keychains属性的内容时,它说有零个元素(当做 a 时System.out.println)。后期构建步骤的 UI 本身显示良好。

我的 Java 知识有点生疏,这是我扩展 Jenkins 的第一步。因此,也许我什至无法从插件中访问这些数据,但感谢您提供任何帮助。

4

1 回答 1

2

我将为网络上的搜索者回答我自己的问题。我遵循了此处提出的解决方案。

  • 创建一个继承自jenkins.model.GlobalConfiguration.
  • 将类中的全局配置逻辑Descriptor放入新创建的类中。
  • 确保您有一个config.jelly以您的班级命名的子文件夹。
  • 在需要访问全局配置的地方,使用私有的非最终类成员并用@Inject( javax.inject.Inject) 对其进行注释。

首先,我将构建步骤的私有成员变量放在构建步骤类本身中,并尝试通过${instance.getGlobalConfiguration().getProperty()}我的果冻访问它。但这不起作用,因为新的尚未保存的构建步骤的实例不存在。所以我将私有成员放在Descriptor构建步骤的内部并通过${descriptor.getGlobalConfiguration().getProperty()}瞧瞧,你去。

于 2013-05-28T16:13:17.863 回答