我正在为其他人的管道步骤jenkins插件编写描述符。大多数步骤都是直截了当的,例如
mySimpleStep(param1: value1, param2: value2)
但是其中一个步骤需要一个参数,该参数是另外两个值的映射,因此实际的调用语法如下:
myOtherStep(param1: value1, param2: [sub1: value2, sub2: value3])
我无法理解如何在config.jelly
文件中为该步骤指定参数和/或更新实际的Step
类,以便正确创建调用语法。我该怎么办?
(param2
类确实有自己的@DataBoundConstructor
,
请注意,这是别人的插件,我无权更改实际的插件。
答案 0 :(得分:0)
几乎放弃之后,我在查看Microsoft Azure存储插件的源代码时偶然发现了答案。这是我需要做的步骤。
确保param2
的类实现Step
并向其添加Description
内部类。它还需要有一个@DataBoundConstructor
使用自己的config.jelly
和help-*.html
文件在资源中为类创建一个单独的描述符目录
将myOtherStep
的config.jelly更改为如下内容:
<f:section title="General">
<f:entry field="value1" title="First param" description="Simple parameter">
<f:textbox/>
</f:entry>
<f:property field="value2">
<st:include page="config.jelly"/>
</f:property>
</f:section>
现在将包含用于复杂参数的config.jelly
类-一切按预期进行。