前言
以往都是透過 Slack 的 Incoming WebHooks URL,直接將 GitLab 事件推送到 Slack 頻道。但 Slack 平台的更新,Incoming WebHooks 功能已整合進 Slack App。
做法
- 建立 Slack App
- 前往 Slack 文件。
- 點選 Create your Slack app(https://api.slack.com/apps/new) 按鈕,建立一個 Slack App。
- 選擇 From scratch
- 輸入 App 名稱,例如:status-my-project
- 選擇要安裝的 Slack 工作區
- 啟用 Incoming Webhooks 功能
- 啟用 Incoming Webhooks 功能
- 在 App 功能頁面中,點選 Incoming Webhooks
- 將 Activate Incoming Webhooks 切換為 On
- 點選 Add New Webhook to Workspace
- 選擇推送頻道並授權
- 選擇要這個 Webhook 發送訊息的頻道
- 點選允許 (Allow),Slack 會建立一組專屬的 Webhook URL
- 複製這組 URL,後續會用在 GitLab WebHook 設定中
- 安裝 App 到組織
- 若是管理員,Slack 會自動授權;若不是,需請管理員核准安裝這個 App 到 Workspace
- 在 GitLab 設定 WebHook
- 前往 GitLab 專案 > Settings > Webhooks
- 貼上剛剛複製的 Slack Webhook URL
- 選擇要監聽的事件(例如:Push、Merge Request、Pipeline)
- 儲存並測試送出
另外,如果有自訂訊息格式的需求,可以使用 Block Kit Builder 自訂訊息卡片。