Раскрывающееся меню плагина Jenkins

Почему-то я не могу сохранить значения из выпадающих меню, которые я добавил в jelly.xml для моего плагина Jenkins. С другой стороны, текстовые поля работают очень хорошо

желе:

<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"));
}

а также к методу configure перед сохранением ():

catchVersion = formData.getString("selection");

Я могу переключаться между тремя вариантами, и значение сохраняется, без сомнения. Я могу запустить сборку несколько раз, и она использует выбранное значение, НО: если я снова собираюсь настроить проект, всегда выбирается первый вариант, независимо от того, что я выбрал ранее. Как я могу сделать, чтобы сохраненное значение появилось здесь?

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") ));
}

Адаптировано отсюда, но это пример использования глобальной конфигурации

Другие вопросы по тегам