Estou tentando encontrar uma maneira de usar as variáveis e notificações de falha nativas do Ansible e Tower, respectivamente, para enviar um email com o resultado da saída de execução de um trabalho.
Então, eu tenho um manual que faz algo assim:
rescue:
- debug:
msg: "Failure:\n\n{{ansible_failed_result | to_nice_json}}"
O que me dá uma boa saída no Tower
No entanto, também gostaria de poder passar a mesma saída do Tower para uma notificação por e-mail, para poder ver em um e-mail a saída de um trabalho sem precisar fazer login no Tower. Isso significa que eu sei imediatamente pelo meu e-mail se é um tempo limite de conexão ou algo mais sério.
Tentei usar as notificações personalizadas no Tower e tentei o campo 'job.job_explanation', porém sempre retorna vazio.
Tentei executar o trabalho com maior verbosidade, mas também não funcionou.
Alguma idéia de como fazer isso? Neste ponto, não tenho certeza se estou no caminho certo usando o campo job_explanation, então qualquer ajuda seria muito apreciada!
Obrigado
Responder1
Caso alguém se depare com o mesmo problema, veja como fiz isso de maneira muito simples
tasks:
- block:
- name: Fail Task
fail:
msg: 'Failed'
when: true
rescue:
- name: set stats
set_stats:
data:
msg_body_1: "This was a test"
Você pode então usar {{ job.artifacts }} na seção de mensagens de notificações do Tower para retornar a variável que você definiu.