Я пытаюсь найти способ использовать собственные переменные сбоев 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, чтобы вернуть заданную вами переменную.