GitLab for Slackアプリ
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このページには、GitLab for Slackアプリのユーザー向けドキュメントが含まれています。管理者向けドキュメントについては、GitLab for Slackアプリの管理を参照してください。
GitLab for Slackアプリは、スラッシュコマンドと通知をSlackワークスペースに提供するネイティブSlackアプリです。GitLabは、SlackユーザーとGitLabユーザーをリンクさせることで、Slackで実行するコマンドが、リンクされたGitLabユーザーによって実行されるようにします。
GitLab for Slackアプリをインストールする
前提要件:
- Slackワークスペースにアプリを追加するための適切な権限が必要です。
- GitLab Self-Managedでは、管理者がインテグレーションを有効にする必要があります。
GitLab 15.0以降、GitLab for Slackアプリはきめ細かい権限を使用します。機能は変更されていませんが、アプリを再インストールする必要があります。
プロジェクト設定またはグループ設定から
プロジェクトまたはグループの設定からGitLab for Slackアプリをインストールするには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- 設定 > インテグレーションを選択します。
- GitLab for Slack appを選択します。
- Slackアプリ用GitLabをインストールを選択します。Slackの確認ページにリダイレクトされます。
- Slackの確認ページで次の手順を実行します:
- オプション。複数のSlackワークスペースにサインインしている場合は、右上にあるドロップダウンリストから、アプリをインストールするワークスペースを選択します。GitLab Self-ManagedおよびGitLab Dedicatedでは、ドロップダウンリストを表示するには、まず管理者が複数のワークスペースのサポートを有効にする必要があります。
- 許可を選択します。
Slack App Directoryから
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com
GitLab.comでは、Slack App DirectoryからGitLab for Slackアプリをインストールすることもできます。
Slack App DirectoryからGitLab for Slackアプリをインストールするには、次の手順に従います:
- GitLab for Slackのページに移動します。
- SlackワークスペースとリンクするGitLabプロジェクトを選択します。
GitLab for Slackアプリを再インストールする
GitLabがGitLab for Slackアプリの新しい機能をリリースした場合、これらの機能を使用するには、アプリを再インストールする必要がある場合があります。
GitLab for Slackアプリを再インストールするには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > インテグレーションを選択します。
- GitLab for Slack appを選択します。
- Slackアプリ用GitLabをインストールを選択します。Slackの確認ページにリダイレクトされます。
- Slackの確認ページで次の手順を実行します:
- オプション。複数のSlackワークスペースにサインインしている場合は、右上にあるドロップダウンリストから、アプリを再インストールするワークスペースを選択します。GitLab Self-ManagedおよびGitLab Dedicatedでは、ドロップダウンリストを表示するには、まず管理者が複数のワークスペースのサポートを有効にする必要があります。
- 許可を選択します。
GitLab for Slackアプリは、インテグレーションを使用するすべてのプロジェクトで更新されます。
または、インテグレーションを再度設定することもできます。
スラッシュコマンド
スラッシュコマンドを使用して、一般的なGitLabオペレーションを実行できます。
GitLab for Slackアプリの場合:
- 最初のスラッシュコマンドを実行するときに、Slackユーザーを承認する必要があります。
<project>をプロジェクトのフルパスに置き換えるか、スラッシュコマンドのプロジェクトエイリアスを作成できます。
SlackスラッシュコマンドまたはMattermostスラッシュコマンドを代わりに使用する場合:
/gitlabを、これらのインテグレーション用に設定したトリガー名に置き換えます。<project>を削除します。
GitLabでは、次のスラッシュコマンドを使用できます:
| コマンド | 説明 |
|---|---|
/gitlab help | 使用可能なすべてのスラッシュコマンドを表示します。 |
/gitlab <project> issue show <id> | ID <id>があるイシューを表示します。 |
/gitlab <project> issue new <title> Shift+Enter <description> | タイトル<title>と説明<description>があるイシューを作成します。 |
/gitlab <project> issue search <query> | <query>に一致するイシューを最大5つ表示します。 |
/gitlab <project> issue move <id> to <project> | ID <id>があるイシューを<project>に移動します。 |
/gitlab <project> issue close <id> | ID <id>があるイシューを閉じます。 |
/gitlab <project> issue comment <id> Shift+Enter <comment> | コメント本文<comment>があるコメントを、ID <id>があるイシューに追加します。 |
/gitlab <project> deploy <from> to <to> | <from>環境から<to>環境にデプロイします。 |
/gitlab <project> run <job name> <arguments> | デフォルトブランチでChatOpsジョブ<job name>を実行します。 |
/gitlab incident declare | Slackからインシデントを作成するためのダイアログを開きます。 |
deployコマンド
環境へのデプロイのために、GitLabはパイプラインで手動デプロイアクションを見つけようとします。
1つのデプロイアクションのみが環境に定義されている場合、そのアクションがトリガーされます。複数のデプロイアクションが定義されている場合、GitLabは環境名に一致するアクション名を見つけようとします。
GitLabが一致するデプロイアクションを見つけられない場合、コマンドはエラーを返します。
プロジェクトエイリアスを作成する
GitLab for Slackアプリでは、スラッシュコマンドはプロジェクトのフルパスをデフォルトで使用します。代わりに、プロジェクトエイリアスを使用することができます。
GitLab for Slackアプリでスラッシュコマンドのプロジェクトエイリアスを作成するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > インテグレーションを選択します。
- GitLab for Slack appを選択します。
- プロジェクトのパスまたはエイリアスの横にある編集を選択します。
- 新しいエイリアスを入力し、変更を保存を選択します。
Slack通知
特定のGitLabイベントに関する通知をSlackチャンネルで受信できます。
通知を設定する
Slack通知を設定するには、次の手順に従います:
左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
設定 > インテグレーションを選択します。
GitLab for Slack appを選択します。
トリガーセクションで、次のことを行います:
Slackで通知を受信するGitLabイベントごとにチェックボックスをオンにします。
オンにしたチェックボックスごとに、通知を受信するSlackチャンネルの名前を入力します。コンマで区切られた最大10個のチャンネル名を入力できます(例:
#channel-one, #channel-two)。Slackチャンネルが非公開の場合、[GitLab for Slackアプリをチャンネルに追加](#receive-notifications-to-a-private-channel)する必要があります。
オプション。通知設定セクションで、次のことを行います:
壊れたパイプラインのみ通知チェックボックスをオンにして、失敗したパイプラインの通知のみを受信します。
通知を送信するブランチドロップダウンリストから、通知を受信するブランチを選択します。
通知は、これらのブランチから作成されたタグによってトリガーされたパイプラインに対しても送信されます。
脆弱性に関する通知は、選択したブランチに関係なく、デフォルトブランチによってのみトリガーされます。詳細については、イシュー469373を参照してください。
Labels to be notified(通知するラベル)には、通知を受信するためにGitLabイシュー、マージリクエスト、またはコメントが持つ必要のあるラベルの一部またはすべてを入力します。すべてのイベントの通知を受信するには、空白のままにします。
オプション。テスト設定を選択します。
変更を保存を選択します。
非公開チャンネルへの通知を受信する
Slack非公開チャンネルへの通知を受信するには、次の手順に従って、GitLab for Slackアプリをチャンネルに追加する必要があります:
@GitLabを入力して、チャンネルでアプリをメンションします。- Add to Channel(チャンネルに追加)を選択します。
通知イベント
次のGitLabイベントは、Slackで通知をトリガーできます:
| イベント | 説明 |
|---|---|
| プッシュ | プッシュがリポジトリに対して行われます。 |
| イシュー | イシューが作成、クローズ、または再度オープンされます。 |
| 機密情報イシュー | 機密情報イシューが作成、クローズ、または再度オープンされます。 |
| マージリクエスト | マージリクエストが作成、マージ、クローズ、または再度オープンされます。 |
| メモ | コメントが追加されます。 |
| 機密情報メモ | 機密情報イシューに関する内部メモまたはコメントが追加されます。 |
| タグプッシュ | タグがリポジトリにプッシュされるか、削除されます。 |
| パイプライン | パイプラインの状態が変化します。 |
| Wikiページ | Wikiページが作成または更新されます。 |
| デプロイ | デプロイが開始または終了します。 |
| 公開のグループメンション | 公開チャンネルでグループがメンションされます。 |
| 非公開のグループメンション | 非公開チャンネルでグループがメンションされます。 |
| インシデント | インシデントが作成、クローズ、または再度オープンされます。 |
| 脆弱性 | 新しい一意の脆弱性がデフォルトブランチに記録されます。 |
| アラート | 新しい一意のアラートが記録されます。 |
グループメンションの通知をトリガーする
グループメンションの通知イベントをトリガーするには、次の場所で@<group_name>を使用します:
- イシューとマージリクエストの説明
- イシュー、マージリクエスト、コミットのコメント