Mattermostのスラッシュコマンド

GitLab 8.14 で導入されました。

Mattermost コマンドは、チャット環境から一般的なオペレーションを実行するための追加インターフェイスをユーザに提供します。 これにより、例えば、アイデアが Mattermost で議論されるとすぐにイシューを作成することができます。

GitLab はイベント (issue createdなど) を通知として Mattermost に送信することもできます。 これは別途設定されたMattermost Notifications Serviceです。

前提条件

Mattermost 3.4 以上が必要です。

Omnibus GitLab パッケージがインストールされていれば、Mattermost はすでにバンドルされています。 設定するだけです。 詳しくはOmnibus GitLab Mattermost ドキュメントをご覧ください。

自動設定

MattermostがGitLabと同じサーバーにインストールされている場合、設定プロセスはGitLabが行ってくれます。

プロジェクトの Mattermost Slash Command サービスに移動し、’Add to Mattermost’ ボタンをクリックします。

手動設定

まず Mattermost でスラッシュコマンドを有効にし、次に GitLab でサービスを有効にします。

ステップ 1. Mattermost でカスタムスラッシュコマンドを有効にします。

このステップはソースインストールを使用する場合にのみ必要で、Omnibusインストールは適切な設定で事前に構成されています。

Mattermost で最初にすることは、管理者コンソールからカスタムスラッシュコマンドを有効にすることです。

  1. 管理者権限を持つアカウントでログインし、システムコンソールに移動します。

    Mattermost go to console

  2. カスタムインテグレーション]をクリックし、[カスタムスラッシュコマンドを有効にする]、[カスタムインテグレーションでユーザー名を上書きする]、[カスタムインテグレーションでプロフィール画像アイコンを上書きする]をtrueに設定します。

    Mattermost console

  3. 一番下の「保存」をクリックして変更を保存します。

ステップ2.GitLabでMattermostスラッシュコマンドサービスを開きます。

  1. GitLab の新しいタブを開き、プロジェクトのインテグレーションページに移動し、Mattermost コマンドサービスを選択して設定します。 次のステップで説明するように、Mattermost でコピーする必要があるすべての値が表示された画面が表示されます。 ウィンドウは開いたままにしておきます。

    注意:GitLabはMattermostの設定に対していくつかの値を提案します。 そのままコピーペーストする必要があるのはRequest URLだけで、他は提案に過ぎません。

    Mattermost setup instructions

  2. 次のステップに進み、上記の値でMattermostにスラッシュコマンドを作成します。

ステップ 3. Mattermost で新しいカスタムスラッシュコマンドを作成します。

Mattermost でカスタムスラッシュコマンドを有効にし、GitLab で Mattermost のスラッシュコマンドサービスを開いたので、これらの値を新しいスラッシュコマンドにコピーしましょう。

  1. Mattermost に戻り、チームページ設定の下に、インテグレーションオプションが表示されているはずです。

    Mattermost team integrations

  2. スラッシュコマンドのインテグレーションに移動し、スラッシュコマンドの追加ボタンをクリックして新しいコマンドを追加します。

    Mattermost add command

  3. ステップ2で説明したように、カスタムコマンドのオプションを入力します。

    **/gitlab 注意:**複数のプロジェクトを接続する場合は、プロジェクトに関連するスラッシュ・コマンド・トリガー・ワードを/gitlab-project-name または/project-nameのように選んでください。

    Mattermost add command configuration

  4. すべての値を設定したら、トークンをコピーし(以下で使用します)、Doneをクリックします。

    Mattermost slash command token

ステップ 4. Mattermost トークンを Mattermost スラッシュコマンドサービスにコピーします。

  1. GitLab で、前のステップでコピーした Mattermost トークンを貼り付け、Activeトグルが有効になっていることを確認します。

    Mattermost copy token to GitLab

  2. 変更を有効にするには、[変更を保存] をクリックします。

これで、設定した GitLab プロジェクトとやり取りするスラッシュコマンドを Mattermost で使えるようになりました。

MattermostとGitLabとの対話の作成者

ユーザが新しく作成されたスラッシュコマンドを初めて操作するとき、Mattermost は認証プロセスを起動します。

Mattermost bot authorize

これであなたの Mattermost ユーザーと GitLab ユーザーが繋がります。 あなたのプロフィールのページの「チャット」で、許可されたすべてのチャットアカウントを見ることができます。

作成者の認証プロセスが完了したら、Mattermost コマンドを使って GitLab とのやり取りを開始できます。

使用可能なスラッシュコマンド

使用可能なスラッシュ・コマンドは以下の通りです:

コマンド 説明
/ issue new <kbd>⇧ Shift</kbd>+<kbd>↵ Enter</kbd> <説明</kbd> <trigger><description> は省略可能です。 が関連付けられたプロジェクトに新しいイシューを作成します。 /gitlab issue new We need to change the homepage
/ issue show <イシュー番号</kbd>トリガー> <trigger> が関連付けられているプロジェクトの ID<issue-number> を持つイシューを表示します。 /gitlab issue show 42
/ への のデプロイ</kbd>環境>環境>トリガー> ある環境から別の環境へデプロイする CI ジョブを開始します。例えば、staging からproductionへデプロイします。 CI/CD が適切に設定されている必要があります。 /gitlab deploy staging to production

GitLab と対話するために利用可能なコマンドのリストを見るには、トリガーワードの後にhelpと入力してください:/gitlab help

Mattermost bot available commands

権限

利用可能なコマンドを実行する権限は、プロジェクトの権限から派生します。

トラブルシューティング

イベントがトリガーされない場合、Mattermost webhook は非公開チャンネルにアクセスできないため、使用しているチャンネルが公開チャンネルであることを確認してください。

非公開チャンネルが必要な場合、Mattermost で webhook のチャンネルを編集し、非公開チャンネルを選択することができます。 異なるタイプの通知に異なるチャンネルを使用することはできません - すべてのイベントは指定されたチャンネルに送信されます。

さらに読む