--- - name: Check if system reboot is required hosts: all become: yes become_method: sudo 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: Pause for 15 seconds ansible.builtin.pause: seconds: 15 when: reboot.stat.exists - name: Wait for systems to become reachable wait_for_connection: - name: Get list of rebooted servers set_fact: rebooted_servers: "{{ ansible_play_hosts | select('in', reboot) }}" - 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