把 Jenkins 建置失敗的項目轉貼到 Slack.com

最近在試驗 Slack.com 的討論版,計畫想要替換被微軟買走,然後不太合用的 Skype。在 Slack.com 中,整合了不少開發者愛用的系統,因此可以把 github.com 的 commit 內容轉貼到 Slack.com 上,可以像是時間軸一樣的紀錄在你的討論版之中,參與的開發者都可以透過這樣的頻道察覺別人哪些事情已經被完成了?

後來我們想接上目前的 CI,看看是否也能達到同樣功效,發現其實還蠻容易的。因此試驗著在 Slack.com 的 SQA 討論版中,把 SQA-Jenkins 上執行建置的 Job 失敗訊息轉貼到討論版中。

  1. Jenkins 系統安裝 Parameterized Trigger Plugin
  • $JOB_NAME 和 $BUILD_DISPLAY_NAME 是安裝 Parameterized Trigger Plugin 之後,Jenkins 會把一些參數放到環境變數,可以在之後的 Task 引用。
  1. Jenkins 系統安裝 Post-Build Task Plugin
  • Add Post-build action 把 Post-Build Task 動作加進去。
  • 依照失敗條件設定 Log text: 像是 Failed !!! 字串,也可以支援 Java Regex
  • 在 script edit box 中,加上:
    curl –data “$JOB_NAME $BUILD_DISPLAY_NAME" build successful ! " “https://abc.slack.com/services/hooks/slackbot?   token=${TOKEN}&channel=%23sqa"

當建置失敗後,你會看到這樣的訊息出現在討論板中:

Image

對「把 Jenkins 建置失敗的項目轉貼到 Slack.com」的一則回應

  1. 作者您好,我自己寫了一個部落格的文章,發現您寫得內容幫助很大,不知道可不可以把您的網址放在我文章下方的參考網站,讓讀者也可以來參考您的網站!! 若不行的話,我會把您的網址拿掉,非常感謝!!
    網站連結: https://goo.gl/J7sfEg

發表留言