Я пытаюсь перебрать список элементов в Ansible, используя этот код для добавления через Jira REST API пользователей в группу «Jira-software-users» в Jira Server.
- name: Add user
uri:
url: "{{ atlassian_url }}/rest/api/2/user?groupname=jira-software-users"
method: POST
user: "{{ jira_username }}"
password: "{{ jira_password }}"
return_content: yes
force_basic_auth: yes
body_format: json
headers:
Accept: 'application/json'
Content-Type: 'application/json'
body: "{ 'name': "{{ item }}"
}"
register: result
loop: "{{ users }}"
tags:
- adduser
Код мне кажется хорошим, но продолжает показывать ошибку, которая не дает достаточного объяснения. Здесь ошибка:
ERROR! Синтаксическая ошибка при загрузке YAML. не найден ожидаемый ключ
Похоже, что ошибка находится в '/root/createProject2.yml': строка 45, столбец 27, но может быть в другом месте файла в зависимости от точной синтаксической проблемы.
Оскорбительная строка выглядит так:
Content-Type: 'application/json'
body: "{ 'name': "{{ item }}"
^ here
Мы могли ошибаться, но похоже, что это проблема с отсутствующими кавычками. Всегда заключайте скобки выражения шаблона, когда они начинают значение. Например:
with_items:
- {{ foo }}
Должно быть записано как:
with_items:
- "{{ foo }}"
Очевидно, что применение автоматического предложения ничего не решает, поскольку по определению я применяю концепции, описанные в Ansible документация по петлям: https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html
Не могли бы вы предложить мне способ решения этой проблемы?
Спасибо