將 Jenkins Job 的歷史結果整理出視覺化的 Daily Report mail (三)
為了寄出統整 Jenkins 上游 Job 的 daily report mail, 第一篇 說明了 Jenkins Daily Report Job 的設定, 第二篇 說明了如何用 Python script 統計 Job result 以及產生視覺化的圖表。本篇說明如何用 jelly script 產生 html 格式的 mail,email 裡面除了顯示第二篇文章中產生的視覺畫圖表之外,也會包含前一天每個小時的 Job 結果,如下圖: Email-exit Plugin 會預設 jelly script 的位置在 $JENKINS_HOME/email-templates 目錄底下,但是安裝完畢時並沒有這個目錄,也就是說要自己在 Jenkins 安裝目錄下新建一個 email-templates 的 folder,然後把 jelly scripts 放在這個 folder 之下,以我們的例子來說就是 load-monitor-dailyreport.jelly 詳細說明可以參考 Email-ext plugin 的網頁。 這裡可以找到一些 email-ext 提供的 jelly script 的範例 ,建議要快速上手,可以 copy 一個來改,ex: html.jelly 。這個 html.jelly script 預設會包含 change set, maven, junit 等相關的內容,但是因為我們的上游 Job 都是自訂的,因此需要自己修改 script 內容,後文只說明與 daily report 有關的部分。 Jelly Script 的架構如下,後續說明主要都是 BODY 裡面的內容。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <?jelly escape-by-default='true'?> <!DOCTYPE html [ <!ENTITY nbsp "&#38;nbsp;"> ]> <j:jelly xmlns:j= "jelly:core" xmlns:st= "jelly:stapler" x...