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

Ansible Tower: Send e-mail if the project failed

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

有人可以帮我吗?

(我正在使用 A​​nsible Tower

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

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

编辑:实际上一个mail callback plugin.

如果根据 ansible-playbook 命令的 return 代码从 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

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

通过工作流模板的通知选项,您可以select此模板失败或成功