Ansible Tower:如果项目失败则发送电子邮件
Ansible Tower: Send e-mail if the project failed
我想在项目失败时收到一封电子邮件。所以我在文件末尾创建了一个任务,它给我发了一封电子邮件。现在的问题是,当任务失败时,洞项目也会失败,并且不会触发电子邮件任务。
有人可以帮我吗?
(我正在使用 Ansible 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此模板失败或成功
我想在项目失败时收到一封电子邮件。所以我在文件末尾创建了一个任务,它给我发了一封电子邮件。现在的问题是,当任务失败时,洞项目也会失败,并且不会触发电子邮件任务。
有人可以帮我吗?
(我正在使用 Ansible 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此模板失败或成功