背景
- コミュニケーションはslack、コードはGitlabで管理しているが、いまいち開発タスクの進捗がわかりにくかったり、「マジリク飛ばしました」と毎回連絡するのがめんどくさかった。
- webhookを利用してGitlabとSlack連携させて、Issueやマジリク等への通知を飛ばせないのかと思った。
方法
##1. Slack API側での設定
Slack APIを開き、Start Building
を押下
App Nameに通知するアプリの名前を登録(今回は例としてsample-gitlab-notification
とする)
Development Slack Workspaceで、接続したことがあるワークスペースがプルダウンで表示されるので、連携したいSlackのワークスペースを選択
Create App
を押下
Incoming Webhooks
を選択。これで、外部ソースからslackへメッセージを投稿できるようになる。
Activate Incoming Webhooks
をOnにし、Add New Webhook to Workspace
押下。
その後、プルダウンから投稿するチャンネルを選択し、許可する
を押下。
すると、遷移後の画面の一番下にwebhook URLが記載されているので、それをコピー。
あとはこれをGitlab側に入力するだけ!
2. Gitlab側での設定
Issueを管理したいプロジェクトを開き、Setting
からIntegrations
を選択
Push,Issue,Merge Requestなどから通知を行いたいものを選択し、遷移したページのWebhook欄に先ほどコピーしたwebhook URLを貼り付け、Save changes
以上!
結構簡単な設定で、GitlabでIssueがopen, closeされた時、マージリクエストがきた時などにslackに通知を飛ばすことができる。