2013-03-27 5 views
11

Здесь я в основном ищу параметр зависимости.Jenkins Динамические параметры, основанные на ранее выбранном значении параметра

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

Есть ли какой-либо плагин или подход для эффективного использования этого требования?

+0

Если я хочу, чтобы второе выпадающее меню принимало значения из вывода сценария оболочки, как это сделать? – Triangle

ответ

1

This - это то, что вы хотите достичь правильно?

Тогда вы могли бы наследовать hudson.model.ChoiceParameterDefinition и переопределить его метод getChoicesText. верните параметры на основе того, что вы хотите, в вашей ситуации вы можете получить среду от Hudson.getInstance().

Ниже приведены фрагменты, показывающие, как получить переменную окружения.

Hudson.getInstance().getGlobalNodeProperties() 
     .get(EnvironmentVariablesNodeProperty.class).getEnvVars().get(name); 

Here - аналогичный вопрос.

+0

Вопрос заключается в изменении списка на основе параметра в той же форме. Я не уверен, что это легко сделать, но я хотел бы увидеть пример кода о том, как это сделать. То, как вы показываете (и связанный ответ), использует уже существующую информацию, определенную в другом месте, это не изменяет выбор динамически на основе другого раскрывающегося списка в той же форме. – hyde

5

Я не использовал его, но он выглядит следующим образом плагин может делать то, что вы хотите:

Jenkins плагин параметров, который позволяет в течение двух отдельных элементов. Второй выбор заполняет значения в зависимости от выбора, сделанного для первого выбора.

https://github.com/tekante/Dynamic-Jenkins-Parameter/wiki

+1

* Кажется *, чтобы быть довольно ограниченным, позволяет только два варианта в первом раскрывающемся списке, так что только два альтернативных списка для второго выпадающего списка. – hyde

+0

Возможно ли выполнить Groovy в этом плагине? –

9

Это именно то, что вы ищете: https://github.com/biouno/uno-choice-plugin/wiki/Uno-Choice-Cascade-Dynamic-Choice-Parameter

Казалось бы, скрытый драгоценный камень, не нашел ни в одном из подобных вопросов до сих пор.

+6

Возможно, немного поздно, но если кому-то это понадобится, как указано в [подобном вопросе] (http://stackoverflow.com/questions/18393671/how-to-get-a-parameter-depend-of-other-parameter -in-hudson-or-jenkins), плагин был разделен сообществом Jenkins и _официально переименован в [Active Choices Plugin] (https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin) – Morfic