Я использую расширенный параметр выбора с JSON типом параметра в моем декларативном конвейере Jenkins. Я нашел его очень хорошим для предоставления пользовательского интерфейса для параметров, и он возвращает json на основе пользовательских данных.
У меня есть сценарий использования, когда опции, которые отображаются пользователю, зависят от значения другого параметра. Я могу достичь такой функциональности с помощью активного параметра выбора , но затем я застрял с переключателями, флажками, html input et c.
Я нашел подходящую опцию здесь где я могу сделать свойство внутри json зависимым от другого свойства:
{
"title": "An object",
"type": "object",
"properties": {
"fieldOne": {
"title": "I should be changed to 'foo'",
"type": "string",
"enum": ["foo","bar"],
"default": "bar"
},
"depender1": {
"title": "I depend on fieldOne to be 'foo'",
"type": "string",
"enum": ["lorem","ipsum"],
"options": {
"dependencies": {
"fieldOne": "foo"
}
}
},
"depender2": {
"title": "I depend on fieldOne to be 'bar'",
"type": "string",
"enum": ["dolor", "sit"],
"options": {
"dependencies": {
"fieldOne": "bar"
}
}
}
}
}
Это прекрасно работает, когда я пытаюсь это сделать здесь
Но когда я пробую то же самое на Дженкинсе, это не сработает. Он показывает все 3 текстовых поля. Я также видел возможность просмотра других параметров, но я не мог найти, как использовать его как if if для моего параметра.
Это простой пример, для которого я хочу достичь, требуется пользовательский интерфейс раскрывающегося списка. 1 + Массив (dropdown-2 + текстовое поле + текстовое поле), где в текстовом поле массива зависит от значения dropdown-1, я не могу создать тот же интерфейс в активном выборе.
Кто-нибудь знает, как options.dependencies может работать в jenkins или же может быть достигнуто с помощью watch / other plugins?