具有嵌套参数的Jenkins插件描述符

时间:2018-09-05 15:33:06

标签: jenkins jenkins-plugins descriptor jelly

我正在为其他人的管道步骤jenkins插件编写描述符。大多数步骤都是直截了当的,例如

mySimpleStep(param1: value1, param2: value2)

但是其中一个步骤需要一个参数,该参数是另外两个值的映射,因此实际的调用语法如下:

myOtherStep(param1: value1, param2: [sub1: value2, sub2: value3])

我无法理解如何在config.jelly文件中为该步骤指定参数和/或更新实际的Step类,以便正确创建调用语法。我该怎么办?

param2类确实有自己的@DataBoundConstructor

请注意,这是别人的插件,我无权更改实际的插件。

1 个答案:

答案 0 :(得分:0)

几乎放弃之后,我在查看Microsoft Azure存储插件的源代码时偶然发现了答案。这是我需要做的步骤。

  1. 确保param2的类实现Step并向其添加Description内部类。它还需要有一个@DataBoundConstructor

  2. 使用自己的config.jellyhelp-*.html文件在资源中为类创建一个单独的描述符目录

  3. 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类-一切按预期进行。