將「ansible_failed_result」變數傳遞給 Tower 通知

將「ansible_failed_result」變數傳遞給 Tower 通知

我正在嘗試找到一種方法來分別使用本機 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 }} 傳回您設定的變數。

相關內容