Jelly Config扩展元素

时间:2016-10-04 01:51:19

标签: java maven jenkins jenkins-plugins jelly

我有一个简单的问题。在jenkins为gui制作果冻配置文件时,你可以让一个单选按钮展开并显示更多元素,这可以通过下拉列表完成吗?如果是的话,有人有一个例子吗?我知道如何使用单选按钮,但我不想要单选按钮,我需要内容取决于选择。

编辑:目前我有以下内容:

   <f:entry title="${%Authentication}" field="authMode">
        <f:select />
    </f:entry>

并在java文件中:

    public ListBoxModel doFillAuthModeItems() {
        ListBoxModel items = new ListBoxModel();
        items.add("None");
        items.add("Form Based Authentication");
        items.add("Script Based Authentication");
        return items;
        }

这会创建一个包含3个元素的下拉列表,例如,我只需要根据选择显示不同的内容。没有没有新内容,Form Based会显示用户名和密码文本字段。

1 个答案:

答案 0 :(得分:1)

您需要研究的是异型列表果冻标签。从cloud bees开始就有一个很好的页面,但他们的代码已经关闭了

我为selenium-axis-plugin一起放了一个开源的,但这是groovy并使用groovy形式

List<ItemDescriptor> axisItemTypes() {
    def ait = Jenkins.instance.<Item,ItemDescriptor>getDescriptorList(Item)

    def ret = []

    for (int i = 0; i < ait.size(); i++) {
        /*code removed*/
        ret.add(ait.get(i))
    }
    ret
}

source

它的工作原理是在顶级描述符上有一个方法,它返回所有可以使用的描述符

 1| 20150105|   0
 1| 20150106|   15.78
 1| 20150107|   15.48
 1| 20150108|   14.96
 1| 20150109|   15.08
 2| 20150105|   14.91
 2| 20150106|   NA
 2| 20150107|   0
 2| 20150108|   0
 2| 20150109|   13.45
 3| 20150105|   15.69
 3| 20150106|   16.46
 3| 20150107|   16.41
 3| 20150108|   0
 3| 20150109|   0

source

所有嵌套项目都必须有自己的描述符,还有@DataBoundConstructor