Jenkins 如何发现构建后插件的 config.jelly?

Haz*_*zok 2 java jelly jenkins jenkins-plugins

我正在为我公司的一些自定义报告创建一个构建后插件。我从这里提供的 Jenkins“hello world”示例开始:

https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial

这很好用。我能够加载插件并在我的 Jenkins 实例中使用它,没有任何问题。

为了让我的项目顺利进行,我能够将 HelloWorldBuilder 移动到另一个文件夹而不是 Jenkins HPI 设置创建、构建和上传这个插件的默认文件夹,没有问题。我还能够将其更改为从 hudson.tasks.Recorder 派生,并将 @Extension 更改为也从 BuildStepDescriptor 派生。这一切都很好,我能够将 hpi 文件上传到 Jenkins 没问题,并且能够按预期在构建后步骤中使用该插件。在这一点上,事情进展顺利,我错误地开始认为这将是轻而易举的。

当我尝试从“HelloWorldBuilder”重命名该类时,我开始遇到问题。我仍然将插件视为构建后步骤,但不再能够对其进行配置。我尝试将 config.jelly 类和相应的帮助 html 文件移动到基​​于新类名的新目录,但效果不佳。我已经尝试了几种基于其他论坛、其他插件存储库和我找到的文档的路径结构和命名约定的组合,但无济于事。

我不确定我在这里遗漏了什么,所以我的问题是:Jenkins 究竟如何根据为插件/类名称和目录结构的各种组合实现构建后插件的类来发现 config.jelly 文件?

小智 5

根据Jenkins 文档,你的 config.jelly 应该放在一个以你的扩展名命名的包中,例如:如果你的类是foo.bar.Extension,那么config.jelly必须放在src/main/resources/foo/bar/Extension/config.jelly