Хочу сделать динамическое отображение параметров, а эти параметры брать из yaml файла в репозитории. Не хочет открывать файл, выносил этот кусок в stage, использовал только readYaml, работает, то есть выводил мне нужные параметры...
properties([
parameters([
[$class: 'ChoiceParameter',
choiceType: 'PT_SINGLE_SELECT', filterLength: 1, filterable: false,
name: 'DTARGET', randomName: 'choice-parameter-11997779855545603',
description: '''Выбрать DataBase''',
script: [$class: 'GroovyScript',
script:[ sandbox: true,
script: "return [${targets.collect{'\'' + it + '\''}.join(',')}, \'update_pipeline\']"
], fallbackScript: [sandbox: true, script: "return ['update_pipeline']"]
]
],
[$class: 'CascadeChoiceParameter',
choiceType: 'PT_SINGLE_SELECT', filterLength: 1, filterable: false,
description: ''' Доступные скрипты для запуска ''',
name: 'COMMAND', randomName: 'choice-parameter-119975603',
script: [$class: 'GroovyScript',
script:[ sandbox: true,
script: '''
try{
String hosts_file = new File("${env.WORKSPACE}/sql_request/queries.yaml").text
Yaml yaml = new Yaml()
Object data = yaml.load(hosts_file)
queries = []
for (item in data[DTARGET])
{
queries.add(item.key)
}
return queries
} catch (Exception ex) {
return [ex.toString()]
}
''' // script
], fallbackScript: [ sandbox: true, script: 'return["ScriptError"]']
], referencedParameters: 'DTARGET'
]
])
])
Вопрос задан
более трёх лет назад
148 просмотров