This is my Ansible playbook ...
roles/myrole ├── defaults │ └── main.yml ├── tasks │ ├── add_user_to_group.yml │ ├── create_user.yml │ └── main.yml ├── templates │ ├── add_user_to_group_data.j2 │ └── create_user_data.j2 └── vars └── main.yml *role/myrole/tasks/create_user.yml* --- - name: Creating User ... uri: url: https://www.example.com/api/users method: POST body: "{{ create_user_data }}" body_format: json status_code: 200 return_content: yes headers: Accept: application/json Content-Type: application/json x-api-key: my-api-key-here register: result - name: Saving User ID to a Variable set_fact: user_create_id: result: "{{ result.json | community.general.json_query('id') }}" - name: Printing User ID of the User Created ansible.builtin.debug: msg: "{{ user_create_id }}" tasks/add_user_to_group.yml --- - name: Adding User to Group ... uri: url: https://www.example.com/api/usergroups/123456/members method: POST body: "{{ add_user_to_group_data }}" body_format: json status_code: 200 return_content: yes headers: Accept: application/json Content-Type: application/json x-api-key: my-api-key-here register: result *templates/create_user_data.j2* { "username":"john", "email":"[email protected]", "firstname":"John", "lastname":"Smith" } *templates/add_user_to_group_data.j2* { "op": "add", "type": "user", "id": "{{ user_create_id }}" } *vars/main.yml* create_user_data: "{{ lookup('template', 'create_user_data.j2') }}" add_user_to_group_data: "{{ lookup('template', 'add_user_to_group_data.j2') }}" Output of task create_user.yml printing the ID ok: [localhost] => { "msg": { "result": "71b248b35ea374433153bbe4" } } I run the playbook basefile.yml which has the role myrole. I'm trying to pass the ID from the result of the task create_user.yml as an input variable to the another task add_user_to_group.yml, especially in the template add_user_to_group_data.j2. I unable to pass the variable {{ create_user_id }} to add_user_to_group_data.j2. If possible, we can create another task and call both the tasks passing some variables or to template file, but don't know how. How do I pass the json output field value from a task as an input to another task in the role?, any help is appreciated!. Thanks in advance! -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/7b0d8e2e-997b-48d9-a87f-aaa214671216n%40googlegroups.com.
