プロジェクトインテグレーション
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このページでは、プロジェクトのインテグレーションに関するユーザー向けドキュメントを掲載しています。管理者向けドキュメントについては、プロジェクトインテグレーションの管理を参照してください。
外部アプリケーションとマージして、GitLabに機能を追加できます。
以下のインテグレーションを表示および管理できます:
以下を使用できます:
プロジェクトインテグレーションのグループデフォルト設定を管理する
前提要件:
- グループのオーナーロールを持っている必要があります。
プロジェクトインテグレーションのグループデフォルト設定を管理するには、次のようにします:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。
- 設定 > インテグレーションを選択します。
- インテグレーションを選択します。
- フィールドに入力します。
- 変更を保存を選択します。
これは、グループに属するすべてのサブグループおよびプロジェクト、またはそのほとんどに影響を与える可能性があります。以下の詳細を確認してください。
グループ設定を初めてインテグレーションに設定する場合:
- グループ設定でインテグレーションを有効にする切替がオンになっている場合、このインテグレーションがまだ構成されていないグループに属するすべてのサブグループおよびプロジェクトに対して、インテグレーションが有効になります。
- すでにインテグレーションが構成されているサブグループとプロジェクトは影響を受けませんが、いつでも継承された設定を使用するように選択できます。
グループデフォルトをさらに変更すると:
- デフォルト設定を使用するようにインテグレーションが設定されているグループに属するすべてのサブグループおよびプロジェクトに即座に適用されます。
- 最後にインテグレーションのデフォルトを保存した後に作成されたものであっても、新しいサブグループとプロジェクトにすぐに適用されます。グループデフォルト設定でインテグレーションを有効にする切替がオンになっている場合、そのようなサブグループとプロジェクトすべてに対して、インテグレーションが自動的に有効になります。
- インテグレーションに選択されたカスタム設定を持つサブグループとプロジェクトはすぐに影響を受けることはなく、いつでも最新のデフォルトを使用するように選択できます。
インスタンス設定が同じインテグレーションに構成されている場合、グループ内のプロジェクトはグループから設定を継承します。
インテグレーションの全体的な設定のみを継承できます。フィールドごとの継承は、エピック2137で提案されています。
グループデフォルト設定を削除する
前提要件:
- グループのオーナーロールを持っている必要があります。
グループデフォルト設定を削除するには、次のようにします:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。
- 設定 > インテグレーションを選択します。
- インテグレーションを選択します。
- リセットを選択して確定します。
グループデフォルト設定をリセットすると、デフォルト設定を使用し、グループのプロジェクトまたはサブグループに属するインテグレーションが削除されます。
プロジェクトインテグレーションにインスタンスまたはグループのデフォルト設定を使用する
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
プロジェクトインテグレーションにインスタンスまたはグループのデフォルト設定を使用するには、次のようにします:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > インテグレーションを選択します。
- インテグレーションを選択します。
- 右側のドロップダウンリストから、デフォルトの設定を使用を選択します。
- インテグレーションを有効にするで、有効チェックボックスがオンになっていることを確認します。
- フィールドに入力します。
- 変更を保存を選択します。
プロジェクトまたはグループのインテグレーションにカスタム設定を使用する
前提要件:
- プロジェクトインテグレーションのメンテナー以上のロールを持っている必要があります。
- グループインテグレーションのオーナーロールが必要です。
プロジェクトまたはグループのインテグレーションにカスタム設定を使用するには、次のようにします:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- 設定 > インテグレーションを選択します。
- インテグレーションを選択します。
- 右側のドロップダウンリストから、カスタムの設定を使用を選択します。
- インテグレーションを有効にするで、有効チェックボックスがオンになっていることを確認します。
- フィールドに入力します。
- 変更を保存を選択します。
利用可能なインテグレーション
GitLabインスタンスでは、以下のインテグレーションが利用可能な場合があります。インスタンス管理者がインテグレーション許可リストを構成している場合、それらのインテグレーションのみが利用可能です。
CI/CD
| インテグレーション | 説明 | インテグレーションフック |
|---|---|---|
| Atlassian Bamboo | Atlassian Bambooで/CI/CDパイプラインを実行します。 | 対応 |
| Buildkite | Buildkiteで/CI/CDパイプラインを実行します。 | 対応 |
| Drone | Droneで/CI/CDパイプラインを実行します。 | 対応 |
| Jenkins | Jenkinsで/CI/CDパイプラインを実行します。 | 対応 |
| JetBrains TeamCity | TeamCityで/CI/CDパイプラインを実行します。 | 対応 |
イベント通知
| インテグレーション | 説明 | インテグレーションフック |
|---|---|---|
| Campfire | Campfireをチャットに接続します。 | 非対応 |
| Discord通知 | プロジェクトイベントに関する通知をDiscordチャンネルに送信します。 | 非対応 |
| Google Chat | GitLabプロジェクトからGoogleチャットのスペースに通知を送信します。 | 非対応 |
| irker(IRCゲートウェイ) | IRCチャンネルにイベント通知を送信します。 | 非対応 |
| Matrix通知 | プロジェクトイベントに関する通知をMatrixに送信します。 | 非対応 |
| Mattermost通知 | プロジェクトイベントに関する通知をMattermostチャンネルに送信します。 | 非対応 |
| Microsoft Teams通知 | Microsoft Teamsにイベント通知を送信します。 | 非対応 |
| Pumble | Pumbleチャンネルにイベント通知を送信します。 | 非対応 |
| Pushover | デバイスにイベント通知を送信します。 | 非対応 |
| Telegram | プロジェクトイベントに関する通知をTelegramに送信します。 | 非対応 |
| Unify Circuit | プロジェクトイベントに関する通知をUnify Circuitに送信します。 | 非対応 |
| Webex Teams | Webex Teamsにイベント通知を送信します。 | 非対応 |
ストア
| インテグレーション | 説明 | インテグレーションフック |
|---|---|---|
| Apple App Store Connect | GitLabを使用して、Apple App Storeでアプリをビルドおよびリリースします。 | 非対応 |
| Google Play | GitLabを使用して、Google Playでアプリをビルドおよびリリースします。 | 非対応 |
| Harbor | HarborをGitLabのコンテナレジストリとして使用します。 | 非対応 |
| Packagist | PackagistでPHPの依存関係を更新します。 | 対応 |
外部イシュートラッカー
以下のインテグレーションにより、プロジェクトの左側のサイドバーに外部イシュートラッカーへのリンクが追加されます。
| インテグレーション | 説明 | インテグレーションフック | イシュー同期 | 新しいイシューを作成できます |
|---|---|---|---|---|
| Bugzilla | イシュートラッカーとしてBugzillaを使用します。 | 非対応 | 非対応 | 対応 |
| ClickUp | イシュートラッカーとしてClickUpを使用します。 | 非対応 | 非対応 | 非対応 |
| カスタムイシュートラッカー | カスタムイシュートラッカー | 非対応 | 非対応 | 非対応 |
| Engineering Workflow Management(EWM) | イシュートラッカーとしてEWMを使用します。 | 非対応 | 非対応 | 対応 |
| Linear | イシュートラッカーとしてLinearを使用します。 | 非対応 | 非対応 | 非対応 |
| Phorge | イシュートラッカーとしてPhorgeを使用します。 | 非対応 | 非対応 | 対応 |
| Redmine | イシュートラッカーとしてRedmineを使用します。 | 非対応 | 非対応 | 対応 |
| YouTrack | JetBrains YouTrackをプロジェクトのイシュートラッカーとして使用します。 | 非対応 | 対応 | 非対応 |
外部Wiki
以下のインテグレーションにより、プロジェクトの左側のサイドバーに外部Wikiへのリンクが追加されます。
| インテグレーション | 説明 | インテグレーションフック |
|---|---|---|
| Confluence Workspace | Confluence Cloudワークスペースを内部Wikiとして使用します。 | 非対応 |
| 外部Wiki | 外部Wikiにリンクする | 非対応 |
その他
| インテグレーション | 説明 | インテグレーションフック |
|---|---|---|
| Asana | Asanaタスクにコミットメッセージをコメントとして追加します。 | 非対応 |
| Assembla | Assemblaでプロジェクトを管理します。 | 非対応 |
| Beyond Identity | Beyond Identity AuthenticatorによってGPGキーが承認されていることを確認します。 | 非対応 |
| Datadog | DatadogでGitLabパイプラインをトレースします。 | 対応 |
| Diffblue Cover | 包括的で人間のようなJava単体テストを自動的に作成します。 | 非対応 |
| プッシュ時にメールを送信 | プッシュ時にコミットメッセージと差分をメールで送信します。 | 非対応 |
| GitGuardian | GitGuardianポリシーに基づいてコミットメッセージを却下します。 | 非対応 |
| GitHub | コミットメッセージとプルリクエストのステータスを受信します。 | 非対応 |
| GitLab for Slackアプリ | ネイティブSlackアプリを使用して、通知を受信し、コマンドを実行します。 | 非対応 |
| Google Artifact Management | Google Artifactレジストリでアーティファクトを管理します。 | 非対応 |
| Google Cloud IAM | Identity and Access Management(IAM)を使用して、Google Cloudリソースの権限を管理します。 | 非対応 |
| Jira | イシュートラッカーとしてJiraを使用します。 | 非対応 |
| Mattermostのスラッシュコマンド | Mattermostチャット環境からスラッシュコマンドを実行します。 | 非対応 |
| パイプラインステータスメール | パイプラインのステータスをメールで受信者のリストに送信します。 | 非対応 |
| Pivotal Tracker | Pivotal Trackerストーリーにコミットメッセージをコメントとして追加します。 | 非対応 |
| Slackのスラッシュコマンド | Slackチャット環境からスラッシュコマンドを実行します。 | 非対応 |
| Squash TM | GitLabイシューが変更されたときにSquash TM要件を更新します。 | 対応 |
プロジェクトWebhook
一部のインテグレーションは、外部アプリケーションにWebhookを使用します。
プッシュ、イシュー、またはマージリクエストなどの特定のイベントをリッスンするようにプロジェクトWebhookを構成できます。Webhookがトリガーされると、GitLabは指定されたWebhook URLにデータを含むPOSTリクエストを送信します。
Webhookを使用するインテグレーションのリストについては、利用可能なインテグレーションを参照してください。
プッシュフック制限
単一のプッシュに3つ以上のブランチまたはタグへの変更が含まれている場合、push_hooksイベントとtag_push_hooksイベントでサポートされているインテグレーションは実行されません。
サポートされているブランチまたはタグの数を変更するには、push_event_hooks_limit設定を構成します。
SSL検証
デフォルトでは、送信HTTPリクエストのSSL証明書は、認証局の内部リストに基づいて検証されます。SSL証明書は自己署名できません。
Webhookと一部のインテグレーションを構成するときに、SSL検証を無効にできます。