概要
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 のモデル改善に使用されることはありません。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 のプランや製品エクスペリエンスによって異なります。プランによっては、deep research やエージェントモードで GitHub を利用できても、通常のチャットでは利用できない場合があります。通常のチャットに GitHub が表示されない場合は、ChatGPT のプラン詳細を確認してください。
