--- - name: Create inventory based on Webook commit hosts: all gather_facts: no become: no vars_files: - vars/defaults.yml tasks: - name: Provision hosts defined via tower_provision_host or defaults block: - name: Set provision_host to tower_provision_host or default set_fact: provision_host: "{{ tower_provision_host | default(ansible_play_hosts | join(',')) }}" - name: "Create in-memory inventory for tower_provision_host" add_host: name : "{{ item }}" groups : - remdiation delegate_to : localhost loop : "{{ provision_host.split(',') }}" when: tower_webhook_payload is not defined - name: Provision hosts defined via tower_webhook_payload block: - name: Debug tower_webhook_payload debug: var: tower_webhook_payload - name: Debug tower_webhook_payload.commits[0].added debug: msg: "{{ tower_webhook_payload.commits[0].added }}" when: - tower_webhook_payload.commits[0].added is defined - name: Debug tower_webhook_payload.commits[0].modified debug: msg: "{{ tower_webhook_payload.commits[0].modified }}" when: - tower_webhook_payload.commits[0].modified is defined - name: Set provision_host to Webhook files set_fact: provision_host: "{{ [item | split('/') | last] + provision_host | default([]) }}" loop: "{{ tower_webhook_payload.commits[0].added + tower_webhook_payload.commits[0].modified }}" - name: "Create in-memory inventory for Webhook" add_host: name : "{{ item }}" groups : - remdiation delegate_to : localhost ignore_errors : yes loop : "{{ provision_host }}" when: tower_webhook_payload is defined # =========================================================================== # - name: Split up hosts into single job runs hosts: remdiation become: no gather_facts: no vars_files: - vars/defaults.yml tasks: - name: Launch job per each host no_log : "{{ __no_log | default('yes') }}" uri : url : "{{ tower_remdiation_workflow }}" force_basic_auth : yes user : "{{ tower_user }}" password : "{{ tower_password }}" body_format : json method : POST status_code : 201 body: extra_vars: tower_provision_host: "{{ item }}" loop: "{{ ansible_play_hosts }}" run_once: yes ...