Ansible

將“ansible_failed_result”變數傳遞給 Tower Notification

  • September 28, 2021

我正在嘗試找到一種方法來分別使用本機 Ansible 和 Tower 故障變數和通知來發送包含作業執行輸出結果的電子郵件。

所以我有一個這樣的劇本:

 rescue:
   - debug:
       msg: "Failure:\n\n{{ansible_failed_result | to_nice_json}}"

這給了我一個很好的輸出塔

但是,我還希望能夠將相同的輸出從 Tower 傳遞到電子郵件通知,這樣我就可以在電子郵件中看到作業的輸出,而無需登錄到 Tower。這意味著我可以立即從我的電子郵件中知道是連接超時還是更嚴重的問題。

我已經嘗試在 Tower 中使用自定義通知並嘗試了“job.job_explanation”欄位,但是它總是返回空。

我嘗試以更詳細的方式執行這項工作,但這也不起作用。

關於如何做到這一點的任何想法?在這一點上,我不確定我是否在使用 job_explanation 欄位的正確軌道上,所以任何幫助將不勝感激!

謝謝

萬一其他人偶然發現了同樣的問題,這就是我非常簡單的做法

 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 }} 來返回您設置的變數。

引用自:https://serverfault.com/questions/1078328