저는 기본 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"
그런 다음 Tower 알림 메시지 섹션에서 {{ job.artifacts }}를 사용하여 설정한 변수를 반환할 수 있습니다.