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

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

GitHub の組織に Devin を連携すると、Devin はプルリクエストの作成や、PR コメントの閲覧・返信などができるようになります。これにより、Devin をエンジニアリングチームの真のコラボレーターとして活用できます。 セットアップは簡単です。 app.devin.ai にアクセスし、Settings > Integrations > Github を開き、Connect をクリックして、画面に表示される GitHub アプリ連携の手順に従ってください。対象となるリポジトリへのアクセス権を選択し、必要な権限を必ず確認してください。
GitHub Enterprise Server を利用していますか? 個人用アクセストークンを使ったセットアップ手順については、GitHub Enterprise Server 連携ガイド を参照してください。

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

お困りの際は、よくある問題の解決策をまとめた Common Issues ページをご確認ください。
  1. app.devin.ai の Devin アカウントで Settings > Integrations > GitHub に移動し、「Connect」ボタンをクリックして、組織を Devin GitHub アプリと連携します。
  2. GitHub にリダイレクトされるので、Devin と接続する GitHub accountrepositories を選択し、関連する権限を確認します。
    • 組織を代表して GitHub インテグレーションを設定している場合は、自社のアカウントを選択してください。
Devin
  1. GitHub でセットアップ手順をすべて完了すると、Devin のアカウント設定ページに戻り、インテグレーションが正しく設定されたことを確認できます。
Devin
  1. [エンタープライズ顧客のみ] 対象リポジトリに cognition-team GitHub アカウントを追加します。これにより、Devin をお客様のコードベースに導入する支援や、Devin のアクティビティの監視が可能になります。
Devin が変更をマージする前にチェックが必ず実行されるよう、master ブランチに対してブランチ保護を有効にすることを推奨します。

GitHub 連携で Devin を使う

連携が完了したら、Devin の Web アプリケーションにアクセスし、プロンプト内でリポジトリを @メンションできるようになります。 リポジトリを初めて使用する場合は、Devin があなたのコードベースで作業するための、最新かつ正確な情報を取得できるように、オンボーディングフローにおける開発環境セットアップ手順を実施することをおすすめします。
セッションがアーカイブされていない限り、Devin はすべての PR コメントに自動的に返信します

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

Devin がプルリクエストを作成する際、リポジトリ内のテンプレートを利用して PR の説明文を構造化します。テンプレートを用意しておくと、Devin はその構造に従って、GitHub に送信する説明文を作成します。

Devin 固有のテンプレート(推奨)

以下のサポートされている PULL_REQUEST_TEMPLATE のいずれかの場所に devin_pr_template.md という名前のファイルを追加することで、人間向けのデフォルトを変更せずに Devin 専用のテンプレートを用意できます。これは、Devin に追加の指示(たとえば、レビュアー向けチェックリストや、変更されたファイルの Mermaid 図を含めるための手順)を含めたい場合に便利です。

検索と優先順位

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
これらのファイルが 1 つも存在しない場合、Devin は内部のデフォルトの PR 説明形式を使用します。
すでに Devin にその内容どおり従ってほしい GitHub の pull_request_template.md がある場合は、そのファイルを上記のいずれかの devin_pr_template.md のパスにコピー(またはシンボリックリンクを作成)してください。
GitHub のプルリクエストテンプレート(サポートされる配置場所、複数テンプレート、クエリパラメータなど)について詳しくは、GitHub Docs の Creating a pull request template for your repository を参照してください。

Devin の権限設定

権限の管理

Devin 連携がインストールされている GitHub 組織の権限を管理するには、その組織の管理者である必要があります
連携をセットアップする際に、Devin に 組織内のすべてのリポジトリへのアクセスを許可するか、一部の特定のリポジトリのみにアクセスを制限するか を選択できます。
アプリを接続した後は、GitHub の Integration 設定ページから、いつでも権限を変更できます:
  • Step 1: GitHub Integration settings にアクセスします
  • Step 2: Devin.ai Integration に移動し、“Configure” をクリックします
  • Step 3: “Repository access” セクションまでスクロールし、権限を管理します
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 が通常のコントリビューターと同様にリポジトリで作業できるようにするために必要です。具体的には、Devin が新しいブランチの push、PR の作成、PR でのディスカッションへの参加を行えるようにしており、これらは Devin がコードベースに生産的に貢献するために不可欠です。

コミット署名

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

セキュリティ上の考慮事項

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

IPホワイトリスト登録

組織の GitHub リソースへアクセスするために Devin のサービスの 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 アカウントまたは個人アカウントのどちらかを接続できます。ただし、Devin が組織向けのセッションを実行する際に必要な権限を持つアカウントを接続することを推奨します。
GitHub 統合が連携されている組織へのアクセス権限を持ち、認証を完了しているユーザーのみが、自分の Devin 実行でその統合を利用できます。言い換えると、その GitHub 統合をインストールした組織に所属するユーザーによって起動された Devin のみが、その GitHub 統合へアクセスできます。
暗号鍵は AWS KMS によって管理され、定期的にローテーションされます。