> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# セルフマネージド GitLab との統合

> Devin をセルフマネージドの GitLab インスタンスに接続します

<div id="overview">
  ## 概要
</div>

このガイドでは、**GitLab インスタンス**を Devin と統合するための完全なセットアップ手順について、**管理者向けセットアップ**と**エンドユーザー向けセットアップ**の両方を含めて説明します。

この統合は 2 つのパートで構成されています。

1. **Admin setup**
   * 組織のセルフホスト型 GitLab インスタンスを Devin に接続する
   * サービスアカウントを設定する
   * リポジトリへのアクセスを構成する
   * ユーザーが個人の GitLab アカウントをリンクできるように OAuth を登録する
2. **User setup**
   * 各ユーザーの GitLab アカウントを、そのユーザーの Devin アカウントにリンクする

<Note>
  いずれのユーザーも GitLab アカウントをリンクする前に、管理者向けセットアップを完了しておく必要があります。管理者向けセットアップの手順を実行できるのは Enterprise Admin のみです。
</Note>

***

<div id="part-1-admin-setup">
  ## パート1: 管理者の設定
</div>

<div id="step-1-create-a-service-account-in-gitlab">
  ### Step 1: GitLabでサービスアカウントを作成する
</div>

GitLabで以下を行います。

1. 該当する**GitLabグループ**に移動します
2. **設定**に移動します
3. **Service Accounts**を開きます
4. 新しいサービスアカウントを作成します

Devinはこのサービスアカウントを使用して、GitLabのリポジトリにアクセスします。

<Frame>
  <img src="https://mintcdn.com/cognitionai/AnsrXvUO6uX9lwu8/images/enterprise/gitlab/gitlab-create-service-account.png?fit=max&auto=format&n=AnsrXvUO6uX9lwu8&q=85&s=e81fed639122165593233b0e2e959318" alt="GitLabでサービスアカウントを作成する" width="3158" height="1980" data-path="images/enterprise/gitlab/gitlab-create-service-account.png" />
</Frame>

***

<div id="step-2-add-the-service-account-as-a-group-member">
  ### ステップ 2: サービスアカウントをグループメンバーとして追加する
</div>

引き続き、GitLab で操作します。

1. グループの**メンバー**ページを開きます

<Frame>
  <img src="https://mintcdn.com/cognitionai/AnsrXvUO6uX9lwu8/images/enterprise/gitlab/gitlab-group-members.png?fit=max&auto=format&n=AnsrXvUO6uX9lwu8&q=85&s=8a205b2d0ea97565ec9e4dbaca80ad87" alt="GitLab グループのメンバーページ" width="894" height="1156" data-path="images/enterprise/gitlab/gitlab-group-members.png" />
</Frame>

2. サービスアカウントをグループメンバーとして追加します
3. **Developer** ロールを付与します

これは、サービスアカウントがリポジトリに適切にアクセスするために必要です。

***

<div id="step-3-generate-a-personal-access-token-for-the-service-account">
  ### ステップ 3: サービスアカウント用のパーソナルアクセストークンを生成する
</div>

サービスアカウントを作成したら、次の手順を実行します。

1. 新しく作成したサービスアカウントを見つけます
2. 三点メニュー > **アクセストークンを管理** > **新しいパーソナルアクセストークンを生成** の順にクリックし、アクセ ススコープで **api** を選択します
3. そのトークンをコピーして、安全に保管します

<Note>
  ユーザー設定にあるご自身のパーソナルアクセストークンではなく、サービスアカウントのトークンを選択していることを確認してください。Devin にはご自身ではなくサービスアカウントとして動作させる必要があります。このトークンは、Devin で GitLab 接続を追加する際に利用します。
</Note>

***

<div id="step-4-add-the-gitlab-connection-in-devin">
  ### ステップ4: Devin に GitLab 接続を追加する
</div>

Devin で:

1. **Enterprise Settings** に移動します
2. **Connections** を開きます
3. 新しい接続を追加します
4. 次を入力します:
   * **セルフホスト型 GitLab の URL** (該当する場合)

<Frame>
  <img src="https://mintcdn.com/cognitionai/AnsrXvUO6uX9lwu8/images/enterprise/gitlab/gitlab-add-connection.png?fit=max&auto=format&n=AnsrXvUO6uX9lwu8&q=85&s=e7425687734160e1004131a22b9d1d14" alt="GitLab 接続 URL を追加" width="3160" height="1970" data-path="images/enterprise/gitlab/gitlab-add-connection.png" />
</Frame>

* サービスアカウント用に作成した**パーソナルアクセストークン**

これで、エンタープライズレベルの GitLab 接続が作成されます。

***

<div id="step-5-configure-webhook">
  ### ステップ 5: Webhook を設定する
</div>

Webhook を設定すると、GitLab で特定のイベントが発生したとき (たとえば、マージリクエストの作成や更新、マージリクエストへのコメントなど) に、Devin がリアルタイム通知を自動で受け取れるようになります。

Webhook を設定するには、次の手順に従います。

1. **Enterprise Settings** > **Connections** で、先ほど追加した GitLab インスタンスを探します
2. **Manage** ドロップダウンをクリックします
3. **Configure Webhook** を選択します
4. 表示されるコマンドに従って設定を完了します

<Frame>
  <img src="https://mintcdn.com/cognitionai/pyEbN3xdufu0Z31G/images/enterprise/gitlab/gitlab-configure-webhook.png?fit=max&auto=format&n=pyEbN3xdufu0Z31G&q=85&s=d2e01d6fd89ca40302f9ea9ebf61848b" alt="Webhook を設定する" width="452" height="388" data-path="images/enterprise/gitlab/gitlab-configure-webhook.png" />
</Frame>

設定が完了すると、Devin は定期的なポーリングではなく、GitLab のイベントにリアルタイムで応答できるようになります。

***

<div id="step-6-verify-repository-access">
  ### Step 6: リポジトリへのアクセスを確認する
</div>

接続を追加したら、次の点を確認します。

1. サービスアカウントが、利用したいリポジトリにアクセスできることを確認します
2. Devin でリポジトリがすぐに表示されない場合は、リポジトリ一覧を手動で更新します
3. **Enterprise Repositories** に移動します
4. 正しい組織を選択します

<Frame>
  <img src="https://mintcdn.com/cognitionai/AnsrXvUO6uX9lwu8/images/enterprise/gitlab/gitlab-enterprise-repositories.png?fit=max&auto=format&n=AnsrXvUO6uX9lwu8&q=85&s=ef2b4392c4b1fdf004a26f2304576959" alt="Enterprise Repositories" width="3164" height="1980" data-path="images/enterprise/gitlab/gitlab-enterprise-repositories.png" />
</Frame>

5. **Manage Permissions** を開きます
6. 該当するリポジトリを、適切な **read/write** 権限で追加します

<Frame>
  <img src="https://mintcdn.com/cognitionai/AnsrXvUO6uX9lwu8/images/enterprise/gitlab/gitlab-manage-permissions.png?fit=max&auto=format&n=AnsrXvUO6uX9lwu8&q=85&s=e833b6573eedb18bf62079456d077b74" alt="Manage repository permissions" width="540" height="128" data-path="images/enterprise/gitlab/gitlab-manage-permissions.png" />
</Frame>

<Note>
  リポジトリが表示されない場合、Devin はリポジトリ一覧を即時ではなく定期的に更新するため、反映までに時間がかかっている可能性があります。
</Note>

***

<div id="part-2-enable-user-linking-for-self-hosted-gitlab">
  ## パート2: セルフホスト型GitLabでユーザー連携を有効にする
</div>

<div id="step-7-register-an-oauth-application-on-the-self-hosted-gitlab-instance">
  ### ステップ 7: セルフホスト型 GitLab インスタンスで OAuth アプリケーションを登録する
</div>

各ユーザーが自分の GitLab アカウントを Devin に連携できるようにするには、管理者がそのセルフホスト型 GitLab インスタンス用の OAuth アプリを登録する必要があります。

Devin で次を実行します:

1. Enterprise の GitLab 接続画面に移動します
2. **Advanced** を開きます
3. セルフホスト型 GitLab セクションに移動します
4. **register an OAuth application** のフローを開始します

<Frame>
  <img src="https://mintcdn.com/cognitionai/EHv4sbxOtqeRVSwT/images/enterprise/gitlab/gitlab-register-oauth.png?fit=max&auto=format&n=EHv4sbxOtqeRVSwT&q=85&s=58275e975adaff88336802286e89eb8b" alt="OAuth アプリケーションを登録する" width="1428" height="1324" data-path="images/enterprise/gitlab/gitlab-register-oauth.png" />
</Frame>

***

<div id="step-8-complete-oauth-app-registration-in-gitlab">
  ### Step 8: GitLab で OAuth App Registration を完了する
</div>

登録モーダル内のリンクから GitLab のアプリケーション登録フォームを開きます。以下のとおりに各項目を入力してください。

1. **Name** と **Redirect URI** を、Devin のモーダルに表示されているとおり正確に設定します
2. **Confidential** チェックボックスを有効にします
3. **api** スコープを選択します
4. **Save application** をクリックします

<Frame>
  <img src="https://mintcdn.com/cognitionai/hGn6kEeruNGdZWya/images/enterprise/gitlab/gitlab-oauth-app-settings.png?fit=max&auto=format&n=hGn6kEeruNGdZWya&q=85&s=f30a422acffd08b475cfdd4d70be4f0b" alt="GitLab OAuth アプリ設定" width="2060" height="1792" data-path="images/enterprise/gitlab/gitlab-oauth-app-settings.png" />
</Frame>

5. GitLab で **Application ID** と **Application Secret** をコピーします
6. Devin に戻り、それらの値を登録モーダルに貼り付けます
7. **Register** をクリックします

これで、ユーザーの ID 連携に必要な管理者側の設定は完了です。

***

<div id="part-3-organization-membership-requirement">
  ## パート3: 組織への所属要件
</div>

<div id="step-9-make-sure-the-user-belongs-to-the-correct-devin-organization">
  ### ステップ 9: ユーザーが正しい Devin 組織に所属していることを確認する
</div>

ユーザーが GitLab アカウントをリンクするには、事前に GitLab リポジトリ権限を持つ Devin 組織のメンバーである必要があります。

Devin で、次の操作を行います。

1. 組織への所属画面に移動する
2. ユーザーが GitLab リポジトリ権限を持つ Devin 組織に所属していることを確認する
3. 所属していない場合は、先に追加する

<Note>
  **Personal Connections には、ユーザーが所属している組織の統合のみが表示されます。** ユーザーが GitLab リポジトリ権限を持つ Devin 組織に所属していない場合、GitLab 統合がまったく表示されないことがあります。
</Note>

***

<div id="part-4-end-user-setup">
  ## パート4：エンドユーザーの設定
</div>

<div id="step-10-open-personal-connections">
  ### ステップ 10: Personal Connections を開く
</div>

Devin のエンドユーザーとして、次の操作を行います。

1. **Personal Connections** に移動します
2. セルフホスト型 GitLab 統合を探します

表示されない場合は、まず組織への所属を確認してください。

***

<div id="step-11-link-the-users-gitlab-account">
  ### ステップ 11: ユーザーの GitLab アカウントを連携する
</div>

統合が表示されたら、次の操作を行います。

1. セルフホスト型 GitLab 接続を選択します
2. 連携フローを完了します
3. ユーザーの **GitLab アカウント** をその **Devin アカウント** に連携します

これで、Devin は GitLab の操作をそのユーザーとして実行できるようになります。
