Я работаю над комбинацией [трубопровод Дженкинса - YAML - ansible]. В конвейере есть раздел ввода, и он выглядит примерно так:
student_input = input(
message: 'Input Student details', parameters: [text(defaultValue:
'''---
student:
ID: 100
grade: 5
info:
email: abc@xyz.com
home_town: efg
marks:
math: 95
science: 92
''',
description: '',
name: 'student'
)]
)
Затем я записываю этот ввод в переменную, используя файл readYaml: "File.yml" Утилита.
В реализации для этого использовались вложенные карты с циклами map.each для достижения info , а затем оценки раздел.
Groovy пример кода карты:
value.each { k, v ->
sh """
echo '$k: $v' >> student.yml
"""
}
Используя это, я пытаюсь записать все значение часть раздела info в отдельный файл YAML, который впоследствии будет использоваться вместе с модулем include_vars ansible.
Во время работы конвейера groovy я столкнулся со следующей проблемой в Ansible:
fatal: [localhost]: FAILED! => {"failed": true, "msg": "Syntax Error while loading YAML.
The error appears to have been in 'True': line 9, column 26,
but may\nbe elsewhere in the file depending on the exact syntax problem.(could not open file to display line)"}
Когда я проверял окончательный файл YAML, раздел меток выглядит как-то например:
marks: [math:95, science:92]
Способ записи этих элементов списка (без пробела после двоеточия) в файл, кажется, вызывает ошибка.
Пожалуйста, помогите мне с решением для этого. Я что-то упускаю или делаю что-то не так?