インテグレーション

インテグレーションは、GitLabを他のアプリケーションと統合することができます。 GitLabに自由に機能を追加できるという点で、プラグインに似ています。

インテグレーションへのアクセス

利用可能なインテグレーションは、プロジェクトの設定 ➔ インテグレーションのページで確認できます。

20以上のインテグレーションがありますので、設定したいインテグレーションをクリックしてください。

Integrations list

以下に、現在サポートされているもののリストと包括的なドキュメントを示します。

インテグレーション一覧

サービスのリンクをクリックすると、詳しい設定方法と詳細が表示されます。

サービス 説明 サービスフック
アサナ Asana - Eメールを使わないチームワーク いいえ
アッセンブラ プロジェクト管理ソフトウェア(ソースコミットエンドポイント) いいえ
アトラシアン Bamboo CI 継続的インテグレーションとビルドサーバー はい
ビルドカイト 継続的インテグレーションとデプロイ はい
バグジラ バグジラのイシュー・トラッカー いいえ
キャンプファイヤー シンプルなウェブベースのリアルタイムグループチャット いいえ
カスタムイシュートラッカー カスタム課題管理ツール いいえ
ディスコード通知 Discordでイベント通知を受信 いいえ
ドローンCI Goで書かれたDockerで構築された継続的インテグレーション・プラットフォーム はい
プッシュメール 各プッシュのコミットと差分を受信者リストにメール送信 いいえ
外部ウィキ 内部Wikiへのリンクを外部Wikiへのリンクに置き換えます。 いいえ
フロードック Flowdockは技術チームのためのコラボレーションWebアプリです。 いいえ
汎用アラート あらゆるソースからGitLabのアラートを受信 いいえ
GitHub パイプラインの通知をGitHubに送信します。 いいえ
ハングアウトチャット Googleハングアウトチャットでイベント通知を受信 いいえ
ヒップチャット 非公開グループチャットとIM いいえ
Irker (IRCゲートウェイ) 更新時に、Irkerゲートウェイを通じて受信者リストにIRCメッセージを送信します。 いいえ
ジラ Jiraイシュー・トラッカー いいえ
ジェンキンス 拡張可能なオープンソースの継続的インテグレーションサーバー はい
JetBrains TeamCity CI 継続的インテグレーションとビルドサーバー はい
Mattermostスラッシュコマンド MattermostチャットとChatOpsスラッシュコマンド いいえ
Mattermost通知 Mattermostでイベント通知を受信 いいえ
マイクロソフトチーム Office 365 Connectors を使用して、GitLab で発生したアクションの通知を Microsoft Teams のルームで受信できます。 いいえ
パッカジスト ComposerのメインリポジトリであるPackagistでプロジェクトを更新します。 はい
パイプラインメール パイプラインステータスを受信者リストにメール送信 いいえ
スラック通知 GitLabのイベント(イシューが作成されたなど)を通知としてSlackに送信します。 いいえ
スラッシュコマンド Slack でスラッシュコマンドを使って GitLab を操作しましょう いいえ
GitLab Slackアプリケーション Slack公式アプリを利用 いいえ
ピボタルトラッカー プロジェクト管理ソフトウェア(ソースコミットエンドポイント) いいえ
Prometheus デプロイしたアプリのパフォーマンスを監視します。 いいえ
プッシュオーバー Pushoverを使えば、Androidデバイス、iPhone、iPad、デスクトップでリアルタイム通知を簡単に受け取ることができます。 いいえ
レッドマイン Redmine イシュー・トラッカー いいえ
ユニファイサーキット Unify Circuitでイベント通知を受信 いいえ
Webex チーム Webex Teamsでイベント通知を受信 いいえ
ユートラック YouTrack イシュー・トラッカー いいえ

プッシュフックリミット

GitLab 12.4で導入されました

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

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

サービステンプレート

サービステンプレートは、お好みのサービスにいくつかの定義済みの値を設定する方法です。

サービステンプレートについて詳しくは、こちらをご覧ください。

インテグレーションに関するトラブルシューティング

いくつかのインテグレーションは外部アプリケーションとのインテグレーションにサービスフックを使っています。 どのインテグレーションがサービスフックを使っているか確認するには、インテグレーション一覧をご覧ください。 GitLabは過去2日以内に行われたサービスフックリクエストの詳細を保存しています。 リクエストの詳細を見るには、サービスの設定ページにアクセスしてください。

最近の配送」セクションには、過去2日以内に行われた各リクエストの詳細が表示されます:

  • HTTP ステータスコード(200-299 コードは緑、その他は赤、internal error は配信失敗)。
  • トリガーイベント
  • リクエスト送信先URL
  • リクエストの経過時間
  • リクエストが行われた相対時間

リクエストの実行に関する詳細情報を見るには、それぞれのView detailsリンクをクリックしてください。 詳細ページでは、GitLabが送信したデータ(リクエストヘッダとボディ)とGitLabが受信したデータ(レスポンスヘッダとボディ)を見ることができます。

このページから、[再送信リクエスト]をクリックすると、同じデータで繰り返し配信することができます。

Recent deliveries

初期化されていないリポジトリ

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

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

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

GitLabはオープンソースであるため、すべてのプラグインのコードとテストを同梱することができます。 このため、コミュニティはプラグインを常に最新の状態に保つことができ、新しいGitLabバージョンでも常に動作します。

どのようなインテグレーションが利用可能かについては、project_servicesソースディレクトリを参照してください。

貢献者は大歓迎です!