Ansible Tower:如果项目失败,则发送电子邮件

时间:2015-05-04 14:44:50

标签: ansible ansible-playbook

我想在项目失败时收到一封电子邮件。所以我在文件末尾创建了一个任务,向我发送电子邮件。现在的问题是,当任务失败时,洞项目也会失败,电子邮件任务也不会被触发。

有人能帮助我吗?

(我使用 Ansible Tower

3 个答案:

答案 0 :(得分:2)

您应该创建一个callback plugin,您可以在任何情况下对失败的任务做出反应。

Here是HipChat通知的示例。修改它以直接使用本地或远程smtp发送电子邮件并不太难。

修改:实际上 是一个邮件回调插件:https://github.com/ansible/ansible/blob/devel/plugins/callbacks/mail.py

答案 1 :(得分:1)

如果您根据ansible-playbook命令的返回代码从shell发送邮件怎么办?

这是一个示例shell脚本:


ANSIBLE_OUTPUT=$(ansible-playbook site.yml -K)

if [ $? != 0 ]; then
    echo "playbook failed! OUTPUT: ${ANSIBLE_OUTPUT}" | mail -s "playbook results" your_email@your_email_domain
else
    echo "playbook executed successfully!" | mail -s "playbook results" your_email@your_email_domain
fi

答案 2 :(得分:0)

可塔本身提供此功能 您可以按照中所述创建通知模板  https://docs.ansible.com/ansible-tower/3.0/html/userguide/notifications.html#id1

与工作流程模板的通知选项相比,您可以在失败或成功时选择此模板