インテグレーション
インテグレーションは、GitLabを他のアプリケーションと統合することができます。 GitLabに自由に機能を追加できるという点で、プラグインに似ています。
インテグレーションへのアクセス
利用可能なインテグレーションは、プロジェクトの設定 ➔ インテグレーションのページで確認できます。
20以上のインテグレーションがありますので、設定したいインテグレーションをクリックしてください。
以下に、現在サポートされているもののリストと包括的なドキュメントを示します。
インテグレーション一覧
サービスのリンクをクリックすると、詳しい設定方法と詳細が表示されます。
サービス | 説明 | サービスフック |
---|---|---|
アサナ | 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_hooks
とtag_push_hooks
イベントでサポートされているサービスは実行されません。
サポートするブランチやタグの数は、push_event_hooks_limit
アプリケーション設定で変更できます。
サービステンプレート
サービステンプレートは、お好みのサービスにいくつかの定義済みの値を設定する方法です。
サービステンプレートについて詳しくは、こちらをご覧ください。
インテグレーションに関するトラブルシューティング
いくつかのインテグレーションは外部アプリケーションとのインテグレーションにサービスフックを使っています。 どのインテグレーションがサービスフックを使っているか確認するには、インテグレーション一覧をご覧ください。 GitLabは過去2日以内に行われたサービスフックリクエストの詳細を保存しています。 リクエストの詳細を見るには、サービスの設定ページにアクセスしてください。
最近の配送」セクションには、過去2日以内に行われた各リクエストの詳細が表示されます:
- HTTP ステータスコード(200-299 コードは緑、その他は赤、
internal error
は配信失敗)。 - トリガーイベント
- リクエスト送信先URL
- リクエストの経過時間
- リクエストが行われた相対時間
リクエストの実行に関する詳細情報を見るには、それぞれのView detailsリンクをクリックしてください。 詳細ページでは、GitLabが送信したデータ(リクエストヘッダとボディ)とGitLabが受信したデータ(レスポンスヘッダとボディ)を見ることができます。
このページから、[再送信リクエスト]をクリックすると、同じデータで繰り返し配信することができます。
初期化されていないリポジトリ
初期化されていないリポジトリにインテグレーションを設定しようとすると、Test Failed. Save Anyway
エラーで失敗するものがあります。これは、デフォルトのサービステストがテストリクエストのペイロードを構築するためにプッシュデータを使用し、プロジェクトのプッシュイベントがないために失敗するためです。
このエラーを解決するには、プロジェクトにテストファイルをプッシュしてリポジトリを初期化し、インテグレーションを再度セットアップします。
インテグレーションに貢献する者
GitLabはオープンソースであるため、すべてのプラグインのコードとテストを同梱することができます。 このため、コミュニティはプラグインを常に最新の状態に保つことができ、新しいGitLabバージョンでも常に動作します。
どのようなインテグレーションが利用可能かについては、project_servicesソースディレクトリを参照してください。
貢献者は大歓迎です!