GitLabのプロジェクト(リポジトリ)を更新してCICDのJob結果をMattermostに通知する方法を紹介します。
前提条件(環境)
今回は次の環境で手順を実施します。
- GitLab: 16.5
- Mattermost: 8.1.9
構築手順
構築には次の手順が必要です。
- 事前確認
- 通知用のチャンネルの作成
- (Mattermost側)Incoming Webhookの追加
- (GitLab側)Webhookの設定
- 通知のテスト
- 通知の確認
事前確認
MattermostのIncoming Webhookの設定が有効になっていることを確認します。
通知用のチャンネルの作成
Mattermostに通知用のチャンネルを作成します。
- Mattermostにログイン
Mattermostにログインします。
- チャンネルを作成
「Main Menu」から「Create new channel」を選択します。
- チャンネル名を入力
チャンネル名や説明を入力して「Create channel」を選択します。
- チャンネルの確認
チャンネルが作成されたことを確認します。
(Mattermost側)Incoming Webhookの追加
MattermostのIncoming Webhookを追加します。
- Mattermostにログイン
Mattermostにログインします。
- Integrationsページを開く
「Main Menu」から「Integrations」を選択します。
- Incoming Webhooksを選択
「Incoming Webhooks」を選択します。
- Add Incoming Webhookを選択
「Add Incoming Webhook」を選択します。
- Webhookの設定
以下の項目を入力して「Save」を選択します。
- Title: 任意のタイトル
- Description: 任意の説明
- Channel: 通知用のチャンネル(今回はGitLab)
- Webhook URLの確認
Webhook URLが表示されたことを確認します。URLをコピーしておきます。コピーしたら「Done」を選択します。
(GitLab側)Webhookの設定
GitLabのWebhookを設定します。
- GitLabにログイン
GitLabにログインします。
- プロジェクトを開く
通知を受け取るプロジェクトを開きます。
- Integrationsを開く
「Settings -> Integrations」を選択します。
- Mattermost notificationsを選択
「Mattermost notifications」を選択します。
- Mattermost notificationsの設定(Trigger)
次のようにTriggerの欄には通知したいイベントを選択します。
- Mattermost notificationsの設定(Notification settings)
Notification settingsの欄には以下のように設定します。
- Branches for which notifications are to be sent: 通知するブランチ
- Webhook: 先ほどコピーしたMattermostのIncoming WebhookのURL
- Username: 通知するユーザー名
- 通知のテスト
「Test settings」を選択して設定をテストします。成功すると次のように表示されます。
- Mattermostに通知されたことを確認
Mattermostに通知されたことを確認します。GitLabのプロジェクトを更新すると次のように通知されます。
以上でGitLabのCICDのJob内容をMattermostに通知する設定が完了しました。
Mattermostの通知設定もSlackと同様に設定できます。