我的英文不好,
而且團隊合作上,需要在寄送版本的時候,通知PM or Tester 修改的相關內容
如果用
${CHANGES_SINCE_LAST_SUCCESS, reverse=false, format="<li>Changes for Build #%n %c </li> ", showPaths=true, changesFormat="<li>[%a]<font color=#ff0099> %m </font></li>", pathFormat="<br>%p<br>"}
就可以很輕鬆的達到,在email 中通知變更內容,不過.....
他顯示中文是亂碼 orz
如果用ssh 到後台去看,可以發現如果使用 cat change.xml
依然可以看到正確的中文字,那麼問題應該就出現在讀取這個檔案轉到email上面的問題
-
產生自己的git change log, 印到email上送出
我希望產生的log與 ${CHANGES_SINCE_LAST_SUCCESS…} 一樣是包含到上次成功build的間所以的log所以我需要知道上次成功建立的時間export LAST_SUCCESS_BUILD_TS=$(stat -f "%m" ../../jobs/${JOB_NAME}/lastSuccessful)知道時間之後,就要利用git log印出所以的commit messagegit log --pretty=format:'<li>%h was %an, %ar, message: <font color=#ff0099>%B</font></li>' --since="$LAST_SUCCESS_BUILD_TS" > GIT-Log-Report.txt最後會產生我想要的 GIT-Log-Report.txt但是!這個是一個UTF8 的檔案如果直接用 Jenkins 的網頁觀看 也會看到亂碼,因為他的網頁是用UTF-16讀取的而Email 呢? 我這裡是希望mail 送出Html的格式出來,而他是用 Big5 讀取的所以在使用 ${FILE, path="…..txt"} 之前要先用iconv -f UTF-8 -t BIG5 GIT-Log-Report.txt > GIT-Log-Report.BIG5.txt產生big5 的檔案,最後產生的script :然後再使用 ${FILE, path="GIT-Log-Report.BIG5.txt"}將資料印到 Email 上 :