把 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 引用。

2. 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=muXURF4WbpkdL1cbntBluqRA&channel=%23sqa"

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

Image

廣告

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s