讓 Slack 成為 CI 的訊息中心

當對 Bitbucket 有任何動作時,我們希望在 Slack 的 channel 能收到通知,如此可避免所有訊息都透過 Email,只有真正與人相關的訊息才使用 Email,讓 Slack 成為持續整合的訊息中心。

Version


macOS High Sierra 10.13.3
Slack 3.0.5

設定 Slack


新增 Channel

bitbucket000

  1. 按下 Channels 右側的 + 新增 channel

bitbucket001

  1. Privacy : 設定為 PublicPrivate channel
  2. Name : 設定 channel 名稱
  3. Purpose : channel 的功能描述,可以不輸入
  4. Send invites to : 設定 channel 成員,可以稍後再設定
  5. Create Channel 開始建立 channel

設定 Notification

bitbucket002

  1. 選擇欲設定的 channel
  2. 選擇右上方的 option
  3. 選擇 Add an app

加入 Bitbucket App

bitbucket003

Slack 將開啟瀏覽器

  1. 稍微往下捲輸入 Bitbucket
  2. 選擇 Bitbucket

新增 Configuration

bitbucket004

  1. Add Configuration 加入 Bitbucket

新增 Integration

bitbucket005

  1. Add Bitbucket Integration 正式加入整合 Bitbucket

Slack 設定完成

bitbucket006

  1. 介紹 Bitbucket 設定流程

Slack 部分已經設定完成,接下來是 Bitbucket 的設定

Slack 網頁先不要關閉,稍後會用到

設定 Bitbucket


新增 Webhooks

bitbucket007

  1. 到 Bitbucket 選擇你要設定的 repository
  2. 選擇 Settings
  3. 選擇 Webhooks
  4. 按下 Add webhook

bitbucket008

  1. Title : 依需求設定
  2. URL : 貼一段 Slack 所提供的 URL,至於要貼什麼呢 ? 稍後會介紹
  3. Triggers : 設定什麼 Bitbucket 動作要通知 Slack,預設是 Push,但也可以設定的更細
  4. Save 儲存設定

bitbucket009

Q : URL 要設定什麼呢 ?

  1. 回到 Slack 最後的網頁往下捲到 Step 2
  2. http:/hooks.slack.com…… 的 URL 複製下來,貼到 Bitbucket 的 URL 欄位

bitbucket010

  1. 儲存後會看到剛剛新增的 webhook 已經出現

Slack


bitbucket011

回到 Slack,當任何 push 到 GitBucket 時,channel 都會收到通知。

Conclusion


  • Slack 提供了一個不錯的 CI 訊息平台,讓訊息從 Email 解放
2018-03-02