Как читать диктовку YAML в Дженкинс (Groovy) - PullRequest
0 голосов
/ 18 июня 2019

У меня есть файл YAML:

project_name: my-project
project_version: 1.0
scan_path: 
    javascript: Core
    dotnet: Deadbolt
    dotnet: ServiceCatalog

Который я читаю в Дженкинс с

data = readYaml file: "Jenkins/config.yml
scan_path = data[scan_path]

однако, когда я проверяю карту, в ней только последний элемент.

Неправильно ли отформатирован мой файл YAML?

Когда я запускаю «println (scan_path.size ())», я просто получаю 1 и

scan_path.each { k, v ->
                echo "${k}, ${v}"

просто возвращает "dotnet, ServiceCatalog"

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Решение, которое в итоге заработало для меня, изменило мою конфигурацию YAML следующим образом:

project_name: project_name
project_version: 1.0
scan_path: 
  - application: dotnet
    path: Core
  - application: dotnet
    path: Brickburn
  - application: dotnet
    path: ServiceCatalo

, которую я сохранил в переменную

data = readYaml file: "Jenkins/config.yml
scan_path = data[scan_path]

и получил следующий доступ:

scan_path.each { e ->
                echo "Translating ${e.getAt('application')} application 
${e.getAt('path')}"
}
0 голосов
/ 18 июня 2019

Вы можете использовать библиотеку snakeyaml для разбора файлов yaml.

Подобный вопрос уже дан ответ здесь .

Другой учебник как вы можете использоватьsnakeyaml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...