> ## 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.

# GitHub Enterprise Server 統合

> Devin を GitHub Enterprise Server または Data Residency 対応の GitHub Enterprise Cloud に接続する

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

Devin は、データレジデンシーに対応した GitHub Enterprise Server (GHES) および GitHub Enterprise Cloud (GHEC) に接続するための 2 つの方法をサポートしています。

1. **GitHub App (推奨) ** — 専用の GitHub App を GHES または GHEC インスタンスに登録してインストールします。この方法では、セットアップをスムーズに進められ、パーソナルアクセストークンを管理する必要もありません。
2. **パーソナルアクセストークン (PAT)** — サービスアカウントを作成し、きめ細かい権限設定が可能なパーソナルアクセストークンを生成します。この方法は、すべての GHES バージョンで利用できます。

<Note>
  GitHub App 統合は現在、限定提供されています。利用を開始するには、Cognition の担当者にお問い合わせください。
</Note>

***

<div id="github-app-setup">
  ## GitHub App のセットアップ
</div>

GitHub App のセットアップは、次の 3 つの手順で行います。

1. **App Registration** — GHES または GHEC インスタンスで GitHub App を登録します。**各インスタンスにつき必要な App 登録は 1 つだけ**です。
2. **App Configuration** — GHES または GHEC インスタンスで、登録した App を設定します (例: 公開に設定し、トークンの有効期限を無効化します) 。
3. **App Installation** — Devin がアクセスする必要がある各 GitHub 組織に、登録した App をインストールします。**組織ごとに 1 つのインストール**が必要です。

<div id="prerequisites">
  ### 前提条件
</div>

* **Git 権限の管理**権限を持つ Devin ユーザー
* App を登録する GitHub 組織でのオーナーまたは管理者アクセス権

<div id="step-1-register-the-github-app">
  ### Step 1: GitHub App を登録する
</div>

1. Devin アカウントで、**Enterprise Settings** → **統合** → **GitHub** に移動します。
2. **Advanced** セクションを展開して、**GitHub Enterprise** オプションを表示します。

<Frame>
  <img src="https://mintcdn.com/cognitionai/tcRB5SQlC6gSZCfn/images/enterprise/ghes-app/ghes-advanced-section.png?fit=max&auto=format&n=tcRB5SQlC6gSZCfn&q=85&s=439f465dc4ae651ff38b98a897abec30" alt="GitHub Enterprise の詳細セクション" width="3840" height="1980" data-path="images/enterprise/ghes-app/ghes-advanced-section.png" />
</Frame>

3. **Register App** をクリックします。
4. 表示されるモーダルで、GHES または GHEC インスタンスの **hostname** と、App を登録する **組織** を入力します。

<Frame>
  <img src="https://mintcdn.com/cognitionai/tcRB5SQlC6gSZCfn/images/enterprise/ghes-app/ghes-register-app-modal.png?fit=max&auto=format&n=tcRB5SQlC6gSZCfn&q=85&s=d3f77370944a7de735d80553dd627860" alt="App 登録モーダル" width="3840" height="1978" data-path="images/enterprise/ghes-app/ghes-register-app-modal.png" />
</Frame>

5. GitHub にリダイレクトされます。**Register App** をクリックして登録を完了します。

<Frame>
  <img src="https://mintcdn.com/cognitionai/tcRB5SQlC6gSZCfn/images/enterprise/ghes-app/ghes-github-register-page.png?fit=max&auto=format&n=tcRB5SQlC6gSZCfn&q=85&s=b013f540b14227eb2e063e60f87fa8b2" alt="GitHub の登録ページ" width="3840" height="1986" data-path="images/enterprise/ghes-app/ghes-github-register-page.png" />
</Frame>

6. Devin にリダイレクトされた後、GitHub App は GitHub 組織に登録済みになります。

<div id="step-2-configure-the-github-app">
  ### Step 2: GitHub App を設定する
</div>

登録後、GHES または GHEC インスタンス上で App を設定します。

1. GHES または GHEC インスタンスで、登録時に指定した GitHub 組織に移動します。
2. **Settings** → **Developer Settings** → **GitHub Apps** に移動し、Devin App を選択します。

<Frame>
  <img src="https://mintcdn.com/cognitionai/tcRB5SQlC6gSZCfn/images/enterprise/ghes-app/ghes-developer-settings-apps.png?fit=max&auto=format&n=tcRB5SQlC6gSZCfn&q=85&s=6254c48d1ebf3573bf5a520c0e22e8dc" alt="開発者設定 - GitHub Apps" width="3840" height="1970" data-path="images/enterprise/ghes-app/ghes-developer-settings-apps.png" />
</Frame>

3. **Advanced** セクションの **Danger zone** で、**Make public** をクリックします。これにより、同じインスタンス上の他の組織でも App をインストールできるようになります。
4. **Optional features** セクションに移動し、**User-to-server token expiration** をオフにします。これにより、アクセストークンの有効期限切れを防ぎ、ユーザーが定期的に App を再認可する必要がなくなります。

<Frame>
  <img src="https://mintcdn.com/cognitionai/tcRB5SQlC6gSZCfn/images/enterprise/ghes-app/ghes-token-expiration.png?fit=max&auto=format&n=tcRB5SQlC6gSZCfn&q=85&s=2d34149892458cc036ab5a26560d6fde" alt="User-to-server token expiration 設定" width="3840" height="1980" data-path="images/enterprise/ghes-app/ghes-token-expiration.png" />
</Frame>

<div id="step-3-install-the-github-app">
  ### ステップ 3: GitHub App をインストールする
</div>

1. Devin アカウントで、**Enterprise Settings** → **統合** → **GitHub** に移動します。
2. **Advanced** セクションを展開し、**Install App** をクリックします。
3. モーダルで、GHES または GHEC インスタンスに登録されている GitHub App を選択します。

<Frame>
  <img src="https://mintcdn.com/cognitionai/tcRB5SQlC6gSZCfn/images/enterprise/ghes-app/ghes-install-app-modal.png?fit=max&auto=format&n=tcRB5SQlC6gSZCfn&q=85&s=a8422617a579bcdbf49490bb6ee5de4b" alt="Install App モーダル" width="3840" height="1982" data-path="images/enterprise/ghes-app/ghes-install-app-modal.png" />
</Frame>

4. GitHub にリダイレクトされ、そこで GitHub 組織を選択し、Devin へのアクセスを許可するリポジトリを選択できます。**すべてのリポジトリ**へのアクセスを許可することを推奨します。
5. インストールが完了すると、Devin にリダイレクトされます。新しい Git 接続が **Settings** → **統合** → **GitHub** に表示されます。

接続する追加の GitHub 組織ごとに、このステップを繰り返します。

<div id="troubleshooting">
  ### トラブルシューティング
</div>

GitHub App の登録またはインストールの過程で問題が発生した場合は、Cognition の担当者にご連絡いただくか、[enterprise@cognition.ai](mailto:enterprise@cognition.ai) までお問い合わせください。

***

<div id="personal-access-token-setup">
  ## パーソナルアクセストークンの設定
</div>

Devin を GitHub と連携すると、Devin がリポジトリにアクセスしてプルリクエストを作成できるようになります。これにより、Devin はエンジニアリングチームの真の共同作業者として機能します。

<div id="create-a-service-account-for-devin">
  ### **Devin 用のサービスアカウントを作成する**
</div>

1. GitHub Enterprise 上で、Devin が利用する新しい GitHub アカウントを作成します。これは、Devin のすべてのアクセス権および利用状況を適切に追跡・管理するために重要です。
2. 作成したサービスアカウントを、関連するすべての GitHub Organization に **Member** として追加します。Devin がアクセスすることを想定しているすべてのリポジトリに、そのアカウントでアクセスできることを確認してください。

<div id="generate-a-personal-access-token-for-devin">
  ### **Devin 用の Personal Access Token を生成する**
</div>

1. サービスアカウントにログインした状態で、右上のプロフィール画像をクリックし、<Icon icon="gear" iconType="regular" size="16" /> **Settings** をクリックします。
2. 左サイドバーで <Icon icon="code" iconType="regular" size="16" /> **Developer settings** をクリックします。
3. 左サイドバーの <Icon icon="key" iconType="regular" size="16" /> **Personal access tokens** の下で **Fine-grained tokens** をクリックします。
4. **Generate new token** をクリックします。
5. **Token name** と **Expiration** を入力します。\
   **Note:** トークンが有効期限切れになると、Devin は直ちに GitHub へのすべてのアクセスを失い、新しいトークンを作成する必要があります。
6. **Resource owner** で、正しい Organization を選択します。

<Accordion title="よくある問題: 組織が表示されない" icon="triangle-exclamation">
  "Resource owner" の下に正しい Organization が表示されない場合は、Enterprise と Organization の両方で、fine-grained personal access token の使用が有効になっていることを確認してください。

  #### **Enterprise 設定で有効化する**

  これらの設定を更新できるのは Enterprise Admin のみです。Organization 固有の設定でも personal access token が有効になっていることを確認してください。

  1. GitHub Enterprise Server 右上のプロフィール画像をクリックし、**Enterprise settings** をクリックします。
  2. ページ上部で <Icon icon="scale-balanced" iconType="regular" size="16" /> **Policies** をクリックします。
  3. **Policies** の下で、<Icon icon="key" iconType="regular" size="16" /> **Personal access tokens** をクリックします。
  4. **Fine-grained tokens** タブを選択します。
  5. **Fine-grained personal access tokens** の項目でアクセスを有効化します。
  6. **Save** をクリックします。

  #### **Organization 設定で有効化する**

  これらの設定を更新できるのは Organization Admin のみです。Enterprise 設定でも personal access token が有効になっていることを確認してください。

  1. GitHub 右上のプロフィール画像をクリックし、<Icon icon="building" iconType="regular" size="16" /> **Organizations** をクリックします。
  2. 対象の Organization の横にある **Settings** をクリックします。
  3. 左サイドバーの <Icon icon="key" iconType="regular" size="16" /> **Personal access tokens** の下で **Settings** をクリックします。
  4. **Fine-grained tokens** タブを選択します。
  5. **Fine-grained personal access tokens** の項目で、Organization 向けのアクセスを有効化します。
  6. **Save** をクリックします。
</Accordion>

7. **Repository access** で、Devin に操作させたいリポジトリを選択します。トークンには常に、GitHub 上のすべてのパブリックリポジトリへの読み取り専用アクセスが含まれます。
8. Devin が正しく動作するために必要な、次の権限がトークンに付与されていることを確認します:

| Permission    | Access level   | Description                             |
| :------------ | :------------- | :-------------------------------------- |
| Contents      | Read and write | Devin がコードベースにコントリビュートできるようにします         |
| Issues        | Read and write | Devin が新しい issue を作成できるようにします           |
| Metadata      | Read only      | Devin がリポジトリの所有者など、重要なメタデータを閲覧できるようにします |
| Pull requests | Read and write | Devin が新しい PR を作成できるようにします              |

追加の権限を付与することで、依頼する作業内容に応じて、Devin がチームとよりうまくコラボレーションできるようになります。

9. **Generate Token** をクリックし、表示されたトークンを保存します。\
   **Note:** GitHub の設定によっては、Admin の承認が必要になる場合があります。
10. トークンに必要なアクセス権と権限がすべて付与されていることを検証するため、ローカルマシン上で **テスト用ブランチを作成して push** し、Organization 内のリポジトリに送信します。
11. トークンを生成してテストが完了したら、セットアップ完了のために Cognition の担当窓口に連絡してください。現在チームと直接やり取りをしていない場合は、[enterprise@cognition.ai](mailto:enterprise@cognition.ai) までご連絡ください。

<div id="validating-pat-permissions-locally">
  ### **PAT の権限をローカル環境で検証する**
</div>

トークンを Cognition と共有する前に、テストブランチをプッシュして、正しい権限が設定されていることを確認してください。

```bash theme={null}
# Authenticate with gh CLI using your token
export GH_TOKEN=your_personal_access_token
export GH_HOST=your-github-enterprise-server.com

# Clone the repository
gh repo clone your-organization/your-repository
cd your-repository

# Create a test branch
git checkout -b test-devin-token-$(date +%s)

# Make a small change
echo "# Test" >> TEST.md
git add TEST.md
git commit -m "Test: Validate Devin token permissions"

# Push the branch (tests contents write permission)
git push origin HEAD

# プルリクエストを作成(プルリクエスト書き込み権限をテスト)
gh pr create --title "Test: Validate Devin token permissions" \
  --body "This is a test PR to validate token permissions." \
  --base main

# Clean up: close the test PR and delete the test branch
gh pr close pr-number --delete-branch
```

**期待される結果:** プッシュとプルリクエスト (PR) の作成が認証エラーなく成功すること。プッシュが失敗する場合は、トークンに「Contents: Read and write」権限が付与されているか確認してください。PRの作成が失敗する場合は、トークンに「Pull requests: Read and write」権限が付与されているか確認してください。

<div id="using-devin-with-the-github-integration">
  ## **GitHub 統合で Devin を利用する**
</div>

GitHub の統合が完了したら、どの Devin のサブ組織が各リポジトリへアクセスできるかを設定できます ([Repository Permissions](/ja/enterprise/integrations/git-integrations#repository-permissions) を参照してください) 。

統合の設定が完了したら、Devin の Web アプリケーションにアクセスし、プロンプト内で任意のリポジトリを @メンションできるようになります。

リポジトリを初めて利用する場合は、Devin があなたのコードベースで作業するための最も正確で最新の情報を取得できるようにするために、[オンボーディングフロー内の開発環境セットアッププロセス](/ja/onboard-devin/environment) を実施することを推奨します。

<Tip>
  セッションがアーカイブされていない限り、Devin はあらゆる PR コメントに自動的に返信します。
</Tip>

<div id="security-considerations">
  ### **セキュリティに関する考慮事項**
</div>

GitHub における Devin の権限に関する追加情報:

* Devin が変更をマージする前にチェックが必ず実行されるようにするため、`master` ブランチに対してブランチ保護ルールを有効にすることを推奨します。
* Devin が組織の GitHub アカウントに接続されている場合、GitHub 組織および Devin 組織へのアクセス権を持つ任意のユーザーと同等の権限を持ちます。
* Devin は、Devin とのセッションを実行しているユーザー個別の権限を引き継がず、組織レベルで付与された権限を保持します。
* Devin は、あなたの GitHub アカウント内に新しいリポジトリを作成することはできません。
