概要
GitHub を ChatGPT に接続すると、コードについて質問できます。
GitHub を接続すると、ChatGPT は、コード、README ファイル、その他のドキュメントなど、アクセスを許可されたリポジトリのコンテンツを必要に応じて取得できます。プランや利用画面に応じて、通常のチャット、deep research、エージェントのワークフローなどを利用できます。このライブアクセスによって、同期済みの GitHub インデックスが作成されることはありません。
GitHub の利用可否は、プラン、ワークスペース、利用画面によって異なります。通常のチャットで GitHub を利用できない場合でも、deep research やエージェントモードでは利用できることがあります。リサーチのワークフローについては、ChatGPT の deep researchをご覧ください。
GitHub と ChatGPT の接続
GitHub を接続するには、利用可能なアプリまたはプラグインを開き、GitHubまたは GitHub を含むプラグインを選択します。アカウントの接続手順については、ChatGPT でのアプリアカウントの接続と管理をご覧ください。
その後 GitHub に移動し、ChatGPT アプリをインストールして認証したうえで、ChatGPT にアクセスを許可するリポジトリを選択します。ChatGPT は、アクセスを許可されたリポジトリのコンテンツを必要に応じて取得します。GitHub の同期と、個別に設定するリポジトリのインデックス作成には対応していません。
リポジトリへのアクセス権を変更するには:
設定を開きます。
利用可能なアプリまたはプラグインを選択します。
GitHubを開きます。
利用可能なリポジトリ管理オプションを選択します。
GitHub との接続を解除するには、同じアプリ設定を開き、接続解除を選択します。
GitHub の pull request アクティビティからタスクを作成
対象ユーザーは、接続済みの github.com リポジトリでのアクティビティを基に、イベントトリガー型(Webhook ベース)のタスクを Work で作成できます。対応するアクティビティには、pull request の作成、レビュー準備完了への変更、クローズなどがあります。トリガーによっては、pull request のレビュー、コメント、コミットの更新、マージの完了も監視できます。
タスクがアクセスできるのは、接続済みの GitHub アカウントで認証されたリポジトリのみです。セルフホスト型 GitHub Enterprise への接続は、イベントトリガー型タスクではサポートされていません。
GitHub を使用するスケジュール済みタスクの共有
アカウントでスケジュール済みタスクの共有を利用できる場合は、指示内で GitHub を参照している対象タスクを共有できます。対象となる受信者は、自分の GitHub アカウントを接続して、別のタスクを作成できます。受信者のアカウントには、そのコピーで必要となるすべてのリポジトリへのアクセス権が必要です。
共有タスクのリンクによって、GitHub への接続、認証情報、リポジトリへのアクセス権、リポジトリのファイルが相手に移行することはありません。共有リンクにはタスクの指示が表示されるため、共有前に機密性の高いコードやリポジトリ情報を削除してください。既存の GitHub 管理者による承認と、アプリの読み取り専用制限は引き続き適用されます。
イベントトリガー型の GitHub タスクも共有できます。対象となる受信者は、自分の GitHub アカウントを接続し、タスクに必要な github.com リポジトリへのアクセスを認証する必要があります。
詳しくは、ChatGPT のスケジュール済みタスクをご覧ください。
表示されない GitHub リポジトリの確認
通常、リポジトリが ChatGPT で利用可能になるまで約 5 分かかります。
リポジトリがまだ表示されない場合は、次の原因も考えられます:
非公開または新しく作成したリポジトリは、正しいアカウントまたは組織に GitHub アプリをインストールし、そのリポジトリへのアクセスを許可するまで表示されないことがあります。GitHub アプリのリポジトリ設定を開き、対象のリポジトリが選択され、承認されていることを確認します。GitHub が接続済みと表示されているのに利用可能なリポジトリがない場合は、再接続する前にこれらの設定を確認してください。
GitHub 組織の設定によっては、ChatGPT アプリまたは特定のリポジトリについて、管理者の承認が必要です。GitHub アプリのリポジトリ設定を確認し、組織向けに表示される承認フローからアクセスをリクエストしてください。
新しいリポジトリが GitHub 独自の検索インデックスに反映されるまで、時間がかかることがあります。これは ChatGPT アプリの同期とは別のものです。ChatGPT での GitHub アクセスでは、認証済みリポジトリのコンテンツを必要に応じて取得しますが、管理者が管理する GitHub インデックスは作成されません。
データとプライバシー
ChatGPT と GitHub の連携の仕組み
ChatGPT は、接続済みの GitHub リポジトリから関連情報を見つけるため、プロンプトを基に検索クエリを作成し、GitHub に送信します。たとえば、「バックエンドでファイルのアップロードを処理した箇所を見せてください」と尋ねた場合、ChatGPT は「file upload handler backend」のようなクエリで GitHub リポジトリを検索します。最も関連性の高いコードやファイルを見つけるため、必要に応じて複数の検索を行うことがあります。
モデルのトレーニングと GitHub データについて
デフォルトでは、ChatGPT Business、Enterprise、Edu、API などのビジネス向けサービスをご利用のお客様から送信されたコンテンツを、モデルの改善に使用することはありません。OpenAI によるビジネスデータの利用については、エンタープライズプライバシーをご覧ください。
対象となる個人アカウントのコンテンツがモデルの改善に使用されるかどうかは、すべてのユーザーのためにモデルを改善する設定によって決まります。アカウントの管理機能と接続済みアプリのプライバシーについては、ChatGPT のアプリにおけるデータ共有とプライバシーをご覧ください。
ChatGPT のデータレジデンシーは、ワークスペースで選択した地域について、対応範囲内の対象顧客コンテンツにのみ適用されます。GitHub に送信される情報には、GitHub 独自の保存、処理、データレジデンシーに関する規約も適用されます。現在の対応範囲については、ChatGPT のデータレジデンシーと推論レジデンシーをご覧ください。
FAQ
GitHub 管理者が ChatGPT アプリを承認するにはどうすればよいですか?
組織で OAuth アプリへのアクセスを制限している場合、組織の所有者は GitHub の手順に沿って組織の OAuth アプリを承認できます。GitHub アプリのインストールと、リポジトリへのアクセス許可は別々の手順です。
リポジトリ内の個別ファイルを検索するにはどうすればよいですか?
リポジトリ選択画面では、リポジトリ内のファイルではなく、リポジトリ名が検索されます。GitHub を接続できる ChatGPT エクスペリエンスでは、ファイル名、関数名、エラーメッセージを指定して、認証済みリポジトリを検索するよう ChatGPT に依頼できます。リポジトリ名と、分かる場合はファイルパスを含めてください。
ChatGPT アプリによる特定のリポジトリへのアクセスを禁止できますか?
はい。リポジトリへのアクセスは GitHub で管理します。組織の所有者は、インストール済みの GitHub Apps を確認し、アプリがアクセスできるリポジトリを変更できます。
ChatGPT に接続すると、コード、更新、PR を GitHub にプッシュできますか?
ChatGPT の GitHub アプリでは、コードの分析や検索のためにリポジトリを読み取ることしかできません。コードを生成、編集し、GitHub に直接プッシュするには、Codexを使用してください。詳しくは、Codex のヘルプセンター記事をご覧ください。
GitHub で IP 許可リストを有効にしている場合はどうすればよいですか?
GitHub Enterprise または組織で IP 許可リストを有効にしている場合は、OpenAI の送信元 IP ブロックを IP 許可リストに追加してください。
GitHub を deep research やエージェントモードでは利用できるのに、チャットでは利用できないのはなぜですか?
GitHub の利用可否は、ChatGPT のプランや製品エクスペリエンスによって異なります。プランによっては、GitHub を deep research やエージェントモードでは利用できても、通常のチャットでは利用できないことがあります。通常のチャットに GitHub が表示されない場合は、ChatGPT のプラン詳細を確認してください。
