--- - name: Check if system reboot is required hosts: all become: yes become_user: root tasks: - name: Check if a reboot is required register: reboot ansible.builtin.stat: path: /var/run/reboot-required - name: Reboot machine ansible.builtin.reboot: when: reboot.stat.exists - name: Wait for systems to become reachable wait_for_connection: delay: 5 timeout: 300 - name: Get list of rebooted servers set_fact: rebooted_servers: [] when: reboot.stat.exists - name: Add server to rebooted_servers list set_fact: rebooted_servers: "{{ rebooted_servers + [ansible_host] }}" when: reboot.stat.exists - name: Debug rebooted servers debug: var: rebooted_servers - name: Send Teams notification run_once: true uri: url: "{{ Teams_webhook }}" method: POST body: | { "title": "Playbook: {{ ansible_play_name }}", "text": "The following servers were rebooted: {{ rebooted_servers | join(', ') }}" } body_format: json headers: Content-Type: application/json when: rebooted_servers | length > 0