3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitLabとslackを連携し、slackへの通知を自動化しよう。【最新版】

Last updated at Posted at 2022-10-08

GitLabのマージリクエストを、slackに自動通知させる方法を示しています。

前提

  • GitLab上で既にプロジェクトが立ち上がっている。
  • slack上で既にチャンネルが作られている。

GitLabとslackを連携しよう。

1. slack APIでWeb API アプリケーションを作成。

今回は slack API を使用し設定を行うので、こちら「 Slack API 」をクリック。
GitLabとslackを連携には、Web API アプリケーション が必要なので、そちらを作成していきます。 アクセス後、画面上にある「Create an app」をクリック。
スクリーンショット 2022-10-06 16.28.14.png

モーダルの画面が出てきます。ここでは、アプリのスコープと設定方法を選択します。
最初から設定を行うので、「From scratch」をクリック。
スクリーンショット 2022-10-06 16.47.24.png

次に、アプリに名前を付け、該当するワークスペースを選択します。
App Name : slackに通知される際のタイトルを設定。(基本的にプロジェクト名)
Pick a workspace to develop your app in : 該当するワークスペースを選択。

該当するワークスペースが出てこない場合は、下記画像の青い枠で囲われているところへアクセスしましょう。slackのログインページに飛ぶので、ログインを行うと管理されているワークスペース全てが選択肢にでてきます。選択後、自動で上の画像のような画面に切り替わるので、再度設定していきましょう。

これでWeb API アプリケーションを作成する上での設定が完了しましたので、「Create App」をクリック。
スクリーンショット 2022-10-06 17.19.29.png

これで、Web API アプリケーションが作成されました。次は、作成したアプリを用いて、Git Labに接続するためのWebhook URLを作成しましょう。

2. Git Labに接続するための Webhook URLを作成

外部(GitLab)からのメッセージをSlackに投稿するので、「Incoming Webhooks」をクリック。
スクリーンショット 2022-10-06 17.50.19.png

ここでは、Webhooksの有効化を設定します。
本文をざっと要約すると、

「Incoming webhooksは、外部ソースからSlackにメッセージを投稿するシンプルな方法。JSONペイロードを持つ通常のHTTPリクエストを使用します。Webhookを追加するにはボットユーザーが必要なので、アプリにボットユーザーがいなかったら自動で作成します」

らしい、、翻訳かけただけです。ここを「 on 」にします。
スクリーンショット 2022-10-06 17.58.39.png

onにすると、下にコンテンツが出てきます。Webhookはまだ追加されてないよと言われているので、「Add New Webhook to Workspace」をクリック。
スクリーンショット 2022-10-06 18.27.44.png

次に、作成したアプリの投稿先を設定し、アクセス権限のリクエストの許可を設定します。
こちらは該当するチャンネルを選択して「許可する」をクリック。
スクリーンショット 2022-10-06 18.32.59.png

許可をすると、無事Git Labに接続するためのWebhook URLが生成されました。
こちらの赤い枠のURLを使用してGit Labとの接続を行なっていくので、「copy」を押しましょう。
スクリーンショット 2022-10-06 18.42.44.png

これで、Git Labに接続するための Webhook URLを作成しましたので、実際にGit Labで設定を行っていきましょう。

3. Git Lab上で、接続の設定を行う。

Git Lab にログインし、今回設定を行うプロジェクトへ入ります。
左下の「設定」にカーソルを合わせると、右側にコンテンツが出てきます。出てきたコンテンツ内の「インテグレーション」をクリック。
スクリーンショット 2022-10-06 19.07.53.png

インテグレーションに入り、下へスクロールをしてくと「Slack notifications」という項目がある。こちらは、slackの通知に関しての設定を行う場所なので、クリックしましょう。
スクリーンショット 2022-10-06 19.26.48.png

Slack notifications内を下へスクロールしていくと、「Webhook」という項目があるのでこちらに先ほどコピーした Webhook URL を貼り付ける。一度赤い枠の「test settings」をクリックし、該当のチャンネルに投稿が自動反映されたかを確認する。

Slack notificationsの項目を変更しようとすると、全てグレーアウトになっており変更できない場合があります。そういった場合、Slack notifications内の右上に「Use default settings」と選択されている項目があるかと思います。そちらを「Use custom settings」に変更すると全て変更可能になります。

スクリーンショット 2022-10-07 11.09.38.png

slackの画面を見ると、このようにtest settingsで通知がslackに自動反映されているのがわかります。自動反映が確認できたら、変更を保存し実際にマージリクエストをした際に通知がいくのかを確認しましょう。
スクリーンショット 2022-10-07 11.29.02.png

マージリクエストした際のslack画面です。
しっかり自動反映されたことが確認できました。
スクリーンショット 2022-10-07 12.48.11.png

これでGitLabとslackを連携が完了です。プロジェクトを立ち上げた際は必ずこの作業を行いましょう。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?