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

なぜ Devin を GitHub と連携するのか?

GitHub の組織に Devin を連携すると、Devin はプルリクエストを作成し、PR コメントに返信し、リポジトリ内で直接コラボレーションできるようになります。これにより、Devin をエンジニアリングチームのフルメンバーとして活用できます。 まずは app.devin.ai にアクセスし、Settings > Integrations > GitHub を開き、Add Connection をクリックして、表示される手順に従ってください。Devin にアクセスさせるリポジトリを選択し、必要な権限を確認します。
GitHub Enterprise Server を利用していますか? 個人用アクセストークンを使ったセットアップ手順については、GitHub Enterprise Server 連携ガイド を参照してください。

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

Devin インテグレーションを作成および管理するには、GitHub 組織の管理者である必要があります。問題がある場合は、Common Issues を参照してください。
  1. app.devin.ai の Devin アカウントで Settings > Integrations > GitHub を開き、Add Connection をクリックします。
Devin
  1. まだ GitHub にログインしていない場合は、認証を求められます。
Devin
  1. Devin と接続したい GitHub 組織を選択します。
Devin
  1. Devin に付与するアクセス範囲として All repositoriesSelect repositories を選択し、Devin がアクセスできるリポジトリを制御します。
Devin
  1. GitHub の認可が完了すると、Devin の設定画面にリダイレクトされるので、インテグレーションが有効になっていることを確認します。
Devin
Devin が変更をマージする前に、必要なチェックがすべて通過していることを確実にするため、メインブランチにブランチ保護ルールを有効にすることを推奨します。

GitHub 連携で Devin を使う

Core および Teams ユーザー向け

インテグレーションの設定が完了すると、Devin の Web アプリケーション内で、プロンプト中にリポジトリを @メンションして参照できるようになります。

Enterprise ユーザー向け

連携の設定が完了したら、Enterprise Settings > Repository Permissions から、特定の組織にリポジトリを割り当てることができます。
Devin
リポジトリを初めて利用する場合は、Devin がコードベースに関する正確で最新の情報を取得できるように、オンボーディングフローでの開発環境セットアップ を完了することをおすすめします。 セッションがアーカイブされていない限り、Devin は PR のコメントに自動で返信します。

GitHub での Devin の権限管理

セットアップ時に、Devin に組織内の すべてのリポジトリ へのアクセスを許可するか、特定のリポジトリ へのアクセスに制限するかを選択できます。 リポジトリアクセスは、GitHub の設定からいつでも変更できます:
  1. GitHub 組織の Settings > GitHub Apps に移動します(例: https://github.com/organizations/<org_name>/settings/installations
  2. Devin.ai Integration の Configure をクリックします
  3. Repository access のセクションで、すべてのリポジトリへのアクセスを許可するか、特定のリポジトリを選択します
  4. Save をクリックして変更を反映します
Devin
Devin には以下の権限が必要です: Read アクセス:
PermissionDescription
dependabot alertsDevin があなたに代わって Dependabot アラートを解消できるようにします(例: 依存関係のバージョンを更新するなど)
actionsDevin が、リポジトリに設定されている Actions を確認し、Devin の変更が CI を通過しているかどうかを把握できるようにします
checksDevin が、リポジトリに設定されている Checks を確認し、Devin の変更が CI を通過しているかどうかを把握できるようにします
commit statusesDevin がコミットが CI を通過したかどうかを確認できるようにします
deploymentsDevin が、どのバージョンのリポジトリがデプロイされているかを確認できるようにします
metadataDevin が、リポジトリの所有者などの重要なメタデータを確認できるようにします
packagesDevin が、どのバージョンのリポジトリがパッケージとして公開されたかを確認できるようにします
pagesDevin が、ドキュメントの閲覧などの目的で、リポジトリに関連付けられた Pages を参照できるようにします
repository advisoriesDevin が、リポジトリに関連するセキュリティアドバイザリを確認し、セキュリティ問題の修正に役立てられるようにします
repository hooksDevin が、lint や型チェックなど、リポジトリに設定されている Hooks を確認できるようにします
repository projectsDevin が、タスク情報の取得などの目的で、リポジトリに関連付けられた Projects を確認できるようにします
Read および write アクセス:
PermissionDescription
codeDevin がコードベースに変更を加えて貢献できるようにします
discussionsDevin が Discussions に参加できるようにします
issuesDevin が新しい Issue を作成できるようにします
pull requestsDevin が新しい PR を作成できるようにします
workflowsDevin が新しい Workflow を設定できるようにします(例: CI/CD を構成するため)
これらの権限により、Devin は通常のコントリビューターと同様にリポジトリで作業でき、ブランチの push、pull request の作成、PR でのディスカッションへの参加が可能になります。

プルリクエストテンプレート

Devin がプルリクエストを作成する際、リポジトリ内のテンプレートを利用して PR の説明文を構造化します。テンプレートを用意しておくと、Devin はそのフォーマットに従って GitHub に PR を送信します。 以下の対応している PULL_REQUEST_TEMPLATE のいずれかの場所に devin_pr_template.md という名前のファイルを追加することで、既存の人間向けデフォルトテンプレートを変更せずに、Devin 専用のテンプレートを用意できます。レビュアー用チェックリストや変更ファイルの Mermaid 図など、追加のコンテキストを Devin に渡したい場合に便利です。

テンプレートの検索順序

Devin は、次の順序でテンプレートを検索し、最初に見つかったものを使用します。
  1. PULL_REQUEST_TEMPLATE/devin_pr_template.md
  2. docs/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  3. .github/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  4. pull_request_template.md
  5. docs/pull_request_template.md
  6. .github/pull_request_template.md
テンプレートが見つからない場合、Devin はデフォルトの PR 説明形式を使用します。
既存の pull_request_template.md を Devin に使わせたい場合は、そのファイルを上記のいずれかの devin_pr_template.md パスにコピー(またはシンボリックリンクを作成)してください。
GitHub のプルリクエストテンプレート(サポートされる配置場所、複数テンプレート、クエリパラメータなど)について詳しくは、GitHub Docs の Creating a pull request template for your repository を参照してください。

コミット署名

リポジトリのセットアップ中に、Devin のターミナルを使ってコミットに署名するための GPG キーを生成できます。この手順は、GitHub のドキュメントで説明されている GPG プロセスに従います。組織内で専用の GitHub アカウント(例: [email protected])を作成し、そのアカウントに GPG キーを関連付けることで、Devin によるコミットを簡単に識別できるようにすることを推奨します。
Devin

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

  • ブランチ保護: Devin が変更をマージする前に、すべての必須チェックが通っていることを確保するため、メインブランチにブランチ保護ルールを有効にすることを推奨します。
  • 組織レベルの権限: Devin は、セッションを実行している個々のユーザーの権限ではなく、組織レベルで付与された権限を使用します。
  • 一貫したアクセス: GitHub の組織と Devin の組織の両方にアクセス権限を持つすべてのユーザーは、同じ Devin 連携の権限を共有します。
  • リポジトリ作成: Devin は、GitHub アカウント内で新しいリポジトリを作成することはできません。

IP許可リスト

組織で GitHub へのアクセスに IP 許可リストを設定している場合は、次の IP アドレスを追加してください。
  • 100.20.50.251
  • 44.238.19.62
  • 52.10.84.81
  • 52.183.72.253
  • 20.172.46.235
  • 52.159.232.99
これらの IP アドレスは今後のアップデートで変更される可能性があります。そのため、変更がないかリリースノートの更新内容を確認することをおすすめします。

GitHub 統合に関するよくある質問

はい。Devin の組織には、GitHub Organization または個人の GitHub アカウントのいずれも接続できます。ただし、Devin がチームで必要とするリポジトリへアクセスできるよう、適切な権限を持つアカウントを接続することを推奨します。
GitHub 統合をインストールした組織のメンバーであるユーザーだけが、自分の Devin セッションでその統合を利用できます。Devin が利用できる GitHub 統合のアクセス権は、ユーザーの所属組織のメンバーシップに基づいて引き継がれます。
暗号鍵は AWS KMS によって管理され、定期的にローテーションされます。