GitLab Microsoft 365 Copilot コネクタを使用すると、organizationで GitLab に格納されているマージ要求、問題、Wiki、ドキュメントのインデックスを作成できます。 コネクタを構成し、GitLab コンテンツにインデックスを付けた後、ユーザーは Microsoft Search とMicrosoft 365 Copilotを使用して情報を検索および取得できます。
この記事は、Microsoft 365 管理者、または GitLab Microsoft 365 Copilot コネクタを構成、実行、または監視するユーザーを対象としています。
機能
- GitLab リポジトリ、マージ要求、アクセスの問題、Wiki、ドキュメントにインデックスを付けます。
- Microsoft Search とMicrosoft 365 Copilotを有効にして、GitLab データを効率的に取得します。
- GitLab ACL とユーザーのアクセス許可を維持します。
- 管理者がクロール頻度とインデックス作成設定をカスタマイズできるようにします。
制限事項
- コネクタでは、状態インデックス作成以外の GitLab CI/CD パイプラインのインデックス作成はサポートされていません。
- インデックスが作成されるのは、リポジトリ、イシュー、マージ要求、.md、.txt ファイル、Wiki のみです。
- ユーザーの禁止は、アクセス許可ルールとしてサポートされていません。 回避策として、管理者は代わりにグループからユーザーを削除できます。
- IP アドレスによるグループ アクセスの制限はサポートされていません。 管理者は、アクセスを管理するためのプライベート グループを作成することをお勧めします。
- Microsoft の内部テスト中に特定された安定性の問題により、Plannerロールのサポートは控えめに非推奨になりました。 アクセスが Reporter ロール以上に制限されるようになりました。 チーム メンバーを Planner ロールに割り当てるときに、ユーザーに問題が発生する可能性があります。 潜在的な問題を軽減するには、Reporter ロール以上を割り当ててください。 この機能を注意深く監視し、引き続き改善に取り組みます。
- GitLab Server Copilot コネクタの場合、セキュリティ上の考慮事項により、プロジェクト メンバーに限定された可視性を持つパブリック プロジェクトのマージ要求へのアクセスは、控えめにレポーター ロール以上に設定されます。
前提条件
コネクタを設定する前に、次のことを確認します。
- GitLab インスタンスに API 経由でアクセスできることを確認します。
- 認証のために GitLab から クライアント ID と クライアント シークレット を生成します。
- 認証ユーザー アカウントは、リポジトリ、問題、マージ要求、ナレッジ ファイル、Wiki ページにアクセスできる必要があります。
-
クライアント ID とクライアント シークレットには、次のスコープが含まれている必要があります。
read_api
read_repository
read_user
- インデックス付き GitLab データにアクセスするユーザーは、アクセス許可マッピングに対応するMicrosoft Entra ID ID を持っている必要があります。
- GitLab 認証のセットアップ中に適切な リダイレクト URL を 設定します。
-
Microsoft 365 Enterprise:
https://gcs.office.com/v1.0/admin/oauth/callback
-
Microsoft 365 Government:
https://gcsgcc.office.com/v1.0/admin/oauth/callback
-
Microsoft 365 Enterprise:
GitLab サーバー Copilot コネクタの詳細
セルフマネージド GitLab インスタンスの場合は、次のことを確認します。
- GitLab バージョンは 17.7 以降である必要があります。
- Microsoft Graph コネクタ エージェントのバージョンは 3.1.8.0 以降である必要があり、GitLab インスタンスに接続できるサーバーにインストールする必要があります。
セットアップ ガイドに従ってエージェントを構成します。 - 認証アカウントには、ACL クロールを有効にする 管理者権限 が必要です。
- パフォーマンスを向上させるには、[ ユーザーと IP レート の制限] 設定で制限を無効または上げます。 詳細については、 GitLab のドキュメントを参照してください。
推奨される構成は次のとおりです。
- [ユーザーと IP レートの制限]: [
Enable authenticated API request rate limit
とEnable authenticated web request rate limit
] をオフにします。 - ファイル API レートの制限:
Enable authenticated API request rate limit
オフにします。 - 非推奨の API レート制限:
Enable authenticated API request rate limit
オフにします。 - ユーザー API レート制限:
Max requests per 10 minutes per user
を高い値 (100000
など) に設定します。 - API レート制限をグループ化する: 制限を無効にするには、すべての値を
0
に設定します。 - Projects API Rate Limits: 制限を無効にするには、すべての値を
0
に設定します。 - メンバー API レート制限:
0
に設定します。
- [ユーザーと IP レートの制限]: [
作業の開始
1. 表示名を選択する
ユーザーが Copilot 応答でマージ要求、問題、またはドキュメントを認識するのに役立つ表示名を選択します。
2. 認証
- GitLab から クライアント ID と クライアント シークレット を入力します。
- [ 承認] を選択 してサインインし、アクセス権を付与します。
- 必要な API スコープを付与します。
3. 限定対象ユーザーにロールアウトする
コネクタをデプロイする前に、Copilot と Microsoft Search の制限付きユーザー ベースとの接続をテストします。
カスタム セットアップ
カスタムセットアップは、任意の設定の既定値を編集する管理者向けです。 [カスタム セットアップ] を選択すると、他の 3 つのタブ (ユーザー、コンテンツ、同期) が表示されます。
ユーザー
ID マッピング
適切なアクセス許可の適用を確実に行うために、次のいずれかの GitLab ユーザー ID をMicrosoft Entra IDにマップします。
- Email: GitLab ユーザーのメールとMicrosoft Entra IDメールを照合します。 (既定と推奨されるマッピング)
- ユーザー名: GitLab ユーザー名をユーザー プリンシパル名 (UPN) Microsoft Entra ID照合します。
- 名前: GitLab ユーザー名を表示名Microsoft Entra IDマップします。
直接マッピングが失敗した場合は、変換に正規表現 (正規表現) を使用します。
コンテンツ
[コンテンツ] タブで、タイトル、説明、状態、タイムスタンプなどのメタデータに関するサンプル データのプロパティ マッピングを確認できます。
同期
ここに存在するスケジュール オプションに基づいて、フル クロールと増分クロールを構成できます。 既定では、増分クロールは 15 分ごとに設定され、フル クロールは毎日に設定されます。 必要に応じて、データ更新のニーズに合わせてこれらのスケジュールを調整できます。
次の手順
トラブルシューティング情報については、 GitLab トラブルシューティング ガイドを参照してください。
問題がある場合やサポートが必要な場合は、 Microsoft Graph のサポートに関するページを参照してください。