Tower 알림에 'ansible_failed_result' 변수 전달

Tower 알림에 'ansible_failed_result' 변수 전달

저는 기본 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 }}를 사용하여 설정한 변수를 반환할 수 있습니다.

관련 정보