Рекомендуемый способ загрузки файла конфигурации из сценария groovy конвейера jenkins

Я хочу загрузить значение конфигурации (что-то вроде json, yaml, xml или ini) из сценария конвейера jenkins. Когда я пытаюсь использовать org.yaml.snakeyaml.Yaml, я получаю

Скриптам не разрешено использовать новый org.yaml.snakeyaml.Yaml

Я знаю, что могу разблокировать org.yaml.snakeyaml.Yam, но в сообщении говорится, что это не стандартный способ загрузки файлов конфигурации.

Есть ли способ загрузить файлы конфигурации, которые уже разблокированы?


person Nathan    schedule 25.10.2016    source источник


Ответы (2)


Попробуйте использовать JsonSlurper:

def config = new JsonSlurper().parse(new File("config.json"))
person Raniz    schedule 25.10.2016
comment
Нужно написать так: groovy,json.JsonSlurper (или импортировать модуль). Спасибо! - person Nathan; 25.10.2016
comment
Я получаю ту же ошибку о JsonSlurper: скриптам не разрешено использовать метод groovy.json.JsonSlurper - person Tudor Carean; 23.03.2018
comment
@TudorCarean уже поздно, но чтобы это исправить, вам нужно разрешить этот метод в Jenkins › Управление Jenkins › Утверждения сценариев в процессе, затем нажмите «Утвердить». - person Loaf; 24.01.2019

Если кто-то ищет синтаксический анализатор yaml в jenkinsfile, я рекомендую следующее

 def yamlData = readYaml file: 'cae.yaml'

Ссылка: https://jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#code-readyaml-code-read-yaml-from-files-in-the-workspace-or-текст

person f-society    schedule 15.07.2017
comment
Вы можете показать это в контексте Jenkinsfile? Я ожидал использовать оператор «импорт», но это не сработало. оператор def помещается внутри или вне директивы конвейера? - person mobibob; 13.04.2021