プロジェクトインテグレーション

GitLabプロジェクトを他のアプリケーションとインテグレーションすることができます。インテグレーションはプラグインのようなもので、GitLabに自由に機能を追加することができます。

プロジェクトのインテグレーションを見る

前提条件:

  • 少なくともプロジェクトのメンテナーのロールを持っている必要があります。

プロジェクトで利用可能なインテグレーションを表示するには:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 設定]>[インテグレーション]を選択します。

また、インスタンスまたはグループ内のすべてのプロジェクトにわたってインテグレーション設定を表示および管理できます。単一のプロジェクトに対して、インスタンスまたはグループの設定を継承するか、カスタム設定を提供するかを選択できます。

note
インスタンスとグループベースのインテグレーション管理は、GitLab 14.0で削除れたサービステンプレートに取って代わるものです。

SSL検証の管理

デフォルトでは、発信HTTPリクエストのSSL証明書は、作成者の内部リストに基づいて検証されます。つまり、証明書は自己署名できません。

Webhookや一部のインテグレーションでは、設定からSSL検証をオフにすることができます。

利用可能なインテグレーション

以下のインテグレーションを設定できます。

インテグレーション説明インテグレーションフック
アサナコミットメッセージを Asana タスクにコメントとして追加します。 {点線円}いいえ
アセンブラプロジェクトの管理 {点線円}いいえ
アトラシアン Bamboo CIAtlassian Bamboo で CI/CD パイプラインを実行します。 {チェックサークル}はい
バグジライシュートラッカーとしてBugzillaを使用します。 {点線円}いいえ
ビルドカイトBuildkiteでCI/CDパイプラインを実行しましょう。 {チェックサークル}はい
キャンプファイヤーチャットに接続 {点線円}いいえ
クリックアップイシュー・トラッカーとしてClickUpを使用します。 {点線円}いいえ
Confluence ワークスペースConfluence クラウドワークスペースを内部 Wiki として使用します。 {点線円}いいえ
カスタムイシュートラッカーカスタムのイシュー・トラッカーを使用します。 {点線円}いいえ
データドッグDatadogを使ってGitLabパイプラインをトレースしましょう。 {チェックサークル}はい
ディスコード通知プロジェクトイベントに関する通知を Discord チャンネルに送信します。 {点線円}いいえ
ドローンCIDroneでCI/CDパイプラインを実行します。 {チェックサークル}はい
プッシュメール各プッシュのコミットと差分をメールで送信します。 {点線円}いいえ
電子メールイシュー・トラッカーとしてIBM Engineering Workflow Managementを使用します。 {点線円}いいえ
外部Wiki外部Wikiをリンクします。 {点線円}いいえ
GitHubコミットやプルリクエストのステータスを取得します。 {点線円}いいえ
GoogleチャットGitLabプロジェクトからの通知をGoogleチャットのルームに送信します。 {点線円}いいえ
コンテナレジストリとして Harbor を使用します。 {点線円}いいえ
irker (IRCゲートウェイ)IRCメッセージを送信します。 {点線円}いいえ
JenkinsJenkinsでCI/CDパイプラインを実行します。 {チェックサークル}はい
JetBrains TeamCity CITeamCityでCI/CDパイプラインを実行します。 {チェックサークル}はい
ジライシュートラッカーとしてJiraを使用します。 {点線円}いいえ
Mattermostの通知プロジェクトイベントに関する通知を Mattermost チャンネルに送信します。 {点線円}いいえ
Mattermostスラッシュコマンドスラッシュコマンドで一般的なタスクを実行します。 {点線円}いいえ
Microsoft Teamsの通知イベント通知を受け取ります。 {点線円}いいえ
PackagistPackagistでPHPの依存関係を更新してください。 {チェックサークル}はい
パイプラインメールパイプラインのステータスを受信者リストにメールで送信します。 {点線円}いいえ
ピボット・トラッカーPivotal Trackerのストーリーにコメントとしてコミットメッセージを追加します。 {点線円}いいえ
パンブルPumbleチャンネルにイベント通知を送信します。 {点線円}いいえ
プッシュオーバーあなたのデバイスにリアルタイムで通知を届けます。 {点線円}いいえ
レッドマインイシュー・トラッカーとしてRedmineを使用します。 {点線円}いいえ
シモ(非推奨)GitLab Wikiの代わりにShimoを使ってください。 {点線円}いいえ
GitLab for SlackアプリSlackの公式GitLabアプリを使います。 {点線円}いいえ
Slack通知(非推奨)プロジェクトのイベントに関する通知を Slack に送信します。 {点線円}いいえ
Slackスラッシュコマンドワークスペースでスラッシュ・コマンドを有効にします。 {点線円}いいえ
スカッシュTMGitLabのイシューが変更されたときにSquash TMの要件を更新します。 {チェックサークル}はい
電報プロジェクトのイベント通知をTelegramに送信します。 {点線円}いいえ
ユニファイ回路プロジェクトイベントに関する通知をUnify Circuitに送信します。 {点線円}いいえ
Webex チームイベント通知を受け取る {点線円}いいえ
ユートラックイシュー・トラッカーとしてYouTrackを使用します。 {点線円}いいえ
ZenTao(非推奨)ZenTao をイシュー・トラッカーとして使用します。 {点線円}いいえ

プロジェクトWebhooks

プロジェクトの Webhook を設定して、プッシュやイシュー、マージリクエストなどの特定のイベントをリッスンすることができます。Webhookがトリガーされると、GitLabは指定されたWebhook URLにデータを含むPOSTリクエストを送信します。

詳しくはWebhooks をご覧ください。

プッシュフックの制限

GitLab 12.4で導入されました

一つのプッシュが3つ以上のブランチやタグへの変更を含む場合、push_hookstag_push_hooks イベントでサポートされているインテグレーションは実行されません。

サポートされるブランチやタグの数は、push_event_hooks_limit アプリケーションの設定 を変更することで変更できます。

インテグレーションに貢献する

GitLab の新しいネイティブインテグレーションを開発することに興味がある方は、こちらをご覧ください:

トラブルシューティング

インテグレーションによっては、外部アプリケーションと統合するためにフックを使うものがあります。どのインテグレーションがインテグレーションフックを使用しているかを確認するには、利用可能なインテグレーションを参照してください。詳細については、Webhook のトラブルシューティングを参照してください。

Test Failed. Save Anyway エラー

初期化されていないリポジトリにインテグレーションを設定すると、Test Failed. Save Anyway というエラーで失敗するインテグレーションがあります。このエラーは、インテグレーションがプッシュデータを使用してテストペイロードをビルドし、プロジェクトにプッシュイベントがないために発生します。

このエラーを解決するには、プロジェクトにテストファイルをプッシュしてリポジトリを初期化し、インテグレーションを再度セットアップします。