Передать переменную 'ansible_failed_result' в уведомление Tower

Передать переменную 'ansible_failed_result' в уведомление Tower

Я пытаюсь найти способ использовать собственные переменные сбоев Ansible и Tower и уведомления соответственно для отправки электронного письма с результатом выполнения задания.

Итак, у меня есть инструкция, которая делает что-то вроде этого:

  rescue:
    - debug:
        msg: "Failure:\n\n{{ansible_failed_result | to_nice_json}}"

Что дает мне хороший вывод в Tower

Однако я также хотел бы иметь возможность передавать тот же вывод из Tower в уведомление по электронной почте, чтобы я мог видеть в письме вывод задания без необходимости входа в Tower. Это означает, что я сразу узнаю из своей электронной почты, является ли это тайм-аутом соединения или чем-то более серьезным.

Я пробовал использовать настройку уведомлений в Tower и пробовал поле «job.job_explanation», однако оно всегда возвращает пустое значение.

Я попробовал запустить задание с большей детализацией, но это тоже не сработало.

Есть идеи, как это сделать? На данный момент я даже не уверен, что я на правильном пути, используя поле job_explanation, поэтому любая помощь будет оценена по достоинству!

Спасибо

решение1

На случай, если кто-то еще столкнется с той же проблемой, вот как я это сделал очень просто:

  tasks:
    - block:
        - name: Fail Task
          fail:
            msg: 'Failed'
          when: true

      rescue:
      - name: set stats
        set_stats:
           data:
             msg_body_1: "This was a test"

Затем вы можете использовать {{ job.artifacts }} в разделе сообщений уведомлений Tower, чтобы вернуть заданную вами переменную.

Связанный контент