Я использую плагин Jenkins Extended Choice Parameter, который зависит от json-редактора https://github.com/json-editor/json-editor (первоначально Дж. Дорн)
Я хочу представить два раскрывающихся списка, один с выбором:
и другой со списком веток git, зависящих от первого выбора.
Используя groovy, я могу получить ветви git и отсортировать их по трем массивам: alpha
, beta
и release
, но я не уверен, как засунуть их в jsonEditorOptions
, чтобы они могли быть enumSource
и обновите второй список.
Моя неудачная попытка, приведенная ниже, гарантирует, что что-то изменится во втором окне списка, но только отдельные буквы (ограничено 1 элементом со срезом), но я не могу найти ничего, кроме элементов из первого.
Мне нужно иметь возможность использовать косвенное обращение к скрытому значению или скрытому элементу схемы, но пока не выяснил, как это сделать.
def jsonEditorOptions = Boon.fromJson(/{
disable_edit_json: true,
disable_properties: true,
no_additional_properties: true,
disable_collapse: true,
disable_array_add: true,
disable_array_delete: true,
disable_array_reorder: true,
theme: "bootstrap2",
iconlib:"fontawesome4",
"schema":
{
"title": "Product",
"type": "object",
"required": [ "product", "branch" ],
"properties": {
"product": {
"title": "Product",
"type": "string",
"description": "Product family being build",
"default": "alpha",
"enum": [ "alpha", "beta", "release"]
},
"branch" : {
"title": "Branch",
"type": "string",
"format": "select",
"watch": {
"prod": "products"
},
"enumSource": "prod"
}
}
},
startval: { }
}/);