メインコンテンツへスキップ

インテグレーションの設定

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

Devin 用のサービスアカウントを作成する

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

Devin 用の Personal Access Token を生成する

  1. サービスアカウントにログインした状態で、右上のプロフィール画像をクリックし、 Settings をクリックします。
  2. 左サイドバーで Developer settings をクリックします。
  3. 左サイドバーの Personal access tokens の下で Fine-grained tokens をクリックします。
  4. Generate new token をクリックします。
  5. Token nameExpiration を入力します。
    Note: トークンが有効期限切れになると、Devin は直ちに GitHub へのすべてのアクセスを失い、新しいトークンを作成する必要があります。
  6. Resource owner で、正しい Organization を選択します。
“Resource owner” の下に正しい Organization が表示されない場合は、Enterprise と Organization の両方で、fine-grained personal access token の使用が有効になっていることを確認してください。

Enterprise 設定で有効化する

これらの設定を更新できるのは Enterprise Admin のみです。Organization 固有の設定でも personal access token が有効になっていることを確認してください。
  1. GitHub Enterprise Server 右上のプロフィール画像をクリックし、Enterprise settings をクリックします。
  2. ページ上部で Policies をクリックします。
  3. Policies の下で、 Personal access tokens をクリックします。
  4. Fine-grained tokens タブを選択します。
  5. Fine-grained personal access tokens の項目でアクセスを有効化します。
  6. Save をクリックします。

Organization 設定で有効化する

これらの設定を更新できるのは Organization Admin のみです。Enterprise 設定でも personal access token が有効になっていることを確認してください。
  1. GitHub 右上のプロフィール画像をクリックし、 Organizations をクリックします。
  2. 対象の Organization の横にある Settings をクリックします。
  3. 左サイドバーの Personal access tokens の下で Settings をクリックします。
  4. Fine-grained tokens タブを選択します。
  5. Fine-grained personal access tokens の項目で、Organization 向けのアクセスを有効化します。
  6. Save をクリックします。
  1. Repository access で、Devin に操作させたいリポジトリを選択します。トークンには常に、GitHub 上のすべてのパブリックリポジトリへの読み取り専用アクセスが含まれます。
  2. Devin が正しく動作するために必要な、次の権限がトークンに付与されていることを確認します:
PermissionAccess levelDescription
ContentsRead and writeDevin がコードベースにコントリビュートできるようにします
IssuesRead and writeDevin が新しい issue を作成できるようにします
MetadataRead onlyDevin がリポジトリの所有者など、重要なメタデータを閲覧できるようにします
Pull requestsRead and writeDevin が新しい PR を作成できるようにします
追加の権限を付与することで、依頼する作業内容に応じて、Devin がチームとよりうまくコラボレーションできるようになります。
  1. Generate Token をクリックし、表示されたトークンを保存します。
    Note: GitHub の設定によっては、Admin の承認が必要になる場合があります。
  2. トークンに必要なアクセス権と権限がすべて付与されていることを検証するため、ローカルマシン上で テスト用ブランチを作成して push し、Organization 内のリポジトリに送信します。
  3. トークンを生成してテストが完了したら、セットアップ完了のために Cognition の担当窓口に連絡してください。現在チームと直接やり取りをしていない場合は、[email protected] までご連絡ください。

PAT の権限をローカル環境で検証する

トークンを Cognition と共有する前に、テストブランチをプッシュして、正しい権限が設定されていることを確認してください。
# 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」権限が付与されているか確認してください。

GitHub インテグレーションで Devin を利用する

GitHub のインテグレーションが完了したら、どの Devin のサブ組織が各リポジトリへアクセスできるかを設定できます(Repository Permissions を参照してください)。 インテグレーションの設定が完了したら、Devin の Web アプリケーションにアクセスし、プロンプト内で任意のリポジトリを @メンションできるようになります。 リポジトリを初めて利用する場合は、Devin があなたのコードベースで作業するための最も正確で最新の情報を取得できるようにするために、オンボーディングフロー内の開発環境セットアッププロセス を実施することを推奨します。
セッションがアーカイブされていない限り、Devin はあらゆる PR コメントに自動的に返信します。

セキュリティに関する考慮事項

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