- name: set fact set_fact: test123: "{{ jsonVar | json_query(name_query) }}" vars: name_query: "[].{name: name, ssh_url_to_repo: ssh_url_to_repo namespace_path: namespace.full_path }"
ok: [host1] => { "ansible_facts": { "test123": [ { "name": "appscomb", "namespace_path": "aws/docker", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/aws/docker/appscomb.git" }, { "name": "appscomb", "namespace_path": "software-repositories", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/software-repositories/appscomb.git" }, { "name": "java", "namespace_path": "software-repositories", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/software-repositories/java.git" }, { "name": "DMI", "namespace_path": "dream-it/docker", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/dream-it/docker/dmi.git" }, { "name": "gitlab", "namespace_path": "aws/docker", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/aws/docker/gitlab.git" }, { "name": "os-management", "namespace_path": "aws/ansible", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/aws/ansible/os-management.git" }, { "name": "appscomb", "namespace_path": "aws/ansible", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/aws/ansible/appscomb.git" }, { "name": "xen-management", "namespace_path": "aws/ansible", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/aws/ansible/xen-management.git" }, { "name": "aws-docker", "namespace_path": "aws/docker", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/aws/docker/aws-docker.git" }, { "name": "dbarchery", "namespace_path": "dream-it/ansible", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/dream-it/ansible/dbarchery.git" }, { "name": "dbarchery", "namespace_path": "dream-it/docker", "ssh_url_to_repo": "ssh://g...@gitlab.example.local:4444/dream-it/docker/dbarchery.git" } ] }, "changed": false}
- name: debug debug:
msg: "{{ test123['name'] }}"# with_items: "{{ test123 }}"
fatal: [host1]: FAILED! => { "msg": "The task includes an option with an undefined variable. The error was: 'list object' has no attribute 'name'\n\nThe error appears to have been in '/home/gitlab/roles/gitlab-backup_repos/tasks/main.yml': line 25, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: debug\n ^ here\n"
- name: debug
debug:
msg: "{{ item['name'] }}"
with_items: "{{ ansible_facts['test123'] }}"
ansible_facts['test123'][0]['name']- name: debug 0 debug: var: test123
- name: debug 1 debug: var: test123[0].namespace_path
- name: debug 2 debug: msg: The value is "{{ test123[0].namespace_path }}"
- name: debug 3 debug: var: item['namespace_path'] with_items: "{{ test123 }}"
- name: debug 4 debug: msg: The value is "{{ item['name'] }}" with_items: "{{ test123 }}"