Передача переменной ansible_failed_result в уведомление Tower

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

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

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

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

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

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

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

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

Спасибо

1
задан 22 September 2021 в 15:42
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, чтобы вернуть установленную вами переменную.

0
ответ дан 28 September 2021 в 16:11

Теги

Похожие вопросы