小编典典

Jenkins插件下拉菜单

jenkins

我无法以某种方式存储我为Jenkins插件添加到jelly.xml中的下拉菜单中的值。另一方面,文本字段也可以正常工作

果冻:

<f:entry title="Catch+ Version" field="selection">
  <f:select/>
</f:entry>

我没有向数据绑定构造函数添加任何内容。也许这已经是问题了。我不知道如何添加它,因为它不是字符串而是列表?

因此,我只添加了doFillSelectionItems函数,该函数可以正常工作。

public ListBoxModel doFillSelectionItems()
{
    return new ListBoxModel(new Option("1.13", "1.13"),
                    new Option("1.14", "1.14"),
                    new Option("1.15", "1.15"));
}

以及save()之前的configure方法:

catchVersion = formData.getString("selection");

毫无疑问,我可以在这三个选项之间切换并存储值。我可以运行几次构建,​​并且使用选择的值BUT:如果我再次配置项目,则无论我之前选择什么,总是选择第一个选项。如何使储值出现在这里?


阅读 731

收藏
2020-07-25

共1个答案

小编典典

Option构造函数的第三个参数定义了当前选择。您也可以在中传递当前值

public ListBoxModel doFillSelectionItems(@QueryParameter String selection) {
    return new ListBoxModel(new Option("1.13", "1.13", selection.matches("1.13") ),
                    new Option("1.14", "1.14", selection.matches("1.14") ),
                    new Option("1.15", "1.15", selection.matches("1.15") ));
}

此处改编,但这是使用全局配置的示例

2020-07-25