Back

GitHub Copilot Extensions を始めよう

GitHub Copilot Extensions を始めよう

GitHub Copilot Extensions は、外部ツールやサービスを Copilot Chat に直接統合することで、開発者の作業方法を変革します。複数のアプリケーションを切り替える代わりに、IDE や GitHub.com 内で自然言語による会話を通じて、データベースのクエリ、デプロイの監視、エラーのデバッグなどを実行できるようになりました。

重要なポイント

  • GitHub Copilot Extensions は外部ツールを Copilot Chat に直接統合し、シームレスなワークフローを実現
  • GitHub App ベースの拡張機能は 2025 年 11 月までに廃止予定、VS Code 拡張機能は引き続きサポート
  • 拡張機能の構築には、エンドポイントのセットアップ、GitHub App の設定、Server-Sent Events の処理が必要
  • Docker、MongoDB、Microsoft などの主要パートナーが既に GitHub Marketplace で拡張機能を提供

GitHub Copilot Extensions とは?

これらの拡張機能は、既存のワークフローとシームレスに統合されます。問題をデバッグする際、エラー監視には Sentry、データベースクエリには DataStax、デプロイには Azure を呼び出すことができ、すべてコードエディタを離れることなく実行できます。Docker、MongoDB、Stripe、Microsoft などの主要パートナーは、既に GitHub Marketplace で利用可能な拡張機能を構築しています。

重要:廃止スケジュール

覚えておくべき重要な日付:

  • 2025 年 9 月 23 日: 新しい GitHub App ベースの Copilot Extensions の作成が不可能に
  • 2025 年 11 月 10 日: 既存のすべての GitHub App ベースの拡張機能が動作停止

VS Code Copilot Extensions は影響を受けず、引き続きサポートされます。今日新しいプロジェクトを開始する場合は、VS Code 拡張機能の構築、または長期的なソリューションとして Model Context Protocol (MCP) サーバーの検討をお勧めします。

GitHub Marketplace から拡張機能をインストールする

既存の拡張機能を使い始めるには、わずか数分で完了します:

  1. GitHub Marketplace で利用可能な拡張機能を閲覧
  2. 選択した拡張機能の「Install」をクリック
  3. 必要な権限を付与
  4. Copilot Chat で @ に続けて拡張機能名を入力してアクセス

例えば、@sentry と入力するとエラーログを分析でき、@docker はコンテナのビルドとデプロイを支援します—すべて自然言語コマンドで実行できます。

Hello World 拡張機能を構築する

最小限の Hello World Extension を作成して、コアコンセプトを理解しましょう。この例では、Node.js と Copilot Extensions Preview SDK を使用します。

ステップ 1: エンドポイントをセットアップする

import { verifyAndParseRequest, createTextEvent, createDoneEvent } from "@copilot-extensions/preview-sdk";
import express from 'express';

const app = express();
app.use(express.text());

app.post("/", async (req, res) => {
  // Verify the request is from GitHub
  const signature = req.headers["github-public-key-signature"];
  const keyID = req.headers["github-public-key-identifier"];
  const token = req.headers["x-github-token"];
  
  const { isValidRequest, payload } = await verifyAndParseRequest(
    req.body,
    signature,
    keyID,
    { token }
  );
  
  if (!isValidRequest) {
    return res.status(401).send("Unauthorized");
  }
  
  // Send response using server-sent events
  res.setHeader("Content-Type", "text/event-stream");
  
  // Simple Hello World response
  res.write(createTextEvent("Hello from my Copilot Extension! 👋"));
  res.write(createDoneEvent());
  res.end();
});

app.listen(3000);

ステップ 2: GitHub App を設定する

  1. Settings → Developer settings → GitHub Apps に移動
  2. 以下の設定で新しい GitHub App を作成:
    • Webhook URL: サーバーエンドポイント(ローカルテストには ngrok を使用)
    • Permissions: 「Copilot Chat」を読み取り専用に設定
    • Copilot settings: App Type を「Agent」に設定

ステップ 3: 拡張機能をテストする

インストール後、Copilot Chat で拡張機能をテスト:

  • GitHub.com 上
  • VS Code 内
  • Visual Studio 内

@your-extension-name に続けて任意のメッセージを入力します。チャットに「Hello World」レスポンスが表示されます。

覚えておくべき重要な概念

リクエストの検証: SDK の verifyAndParseRequest 関数を使用して、受信リクエストを常に検証します。これにより、リクエストが確実に GitHub から送信されたものであることを保証します。

Server-Sent Events: Copilot Extensions はストリーミングレスポンスに SSE を使用します。これにより、チャットインターフェースでリアルタイムの段階的な更新が可能になります。

トークン管理: x-github-token ヘッダーはユーザーコンテキストを提供します。Octokit と併用して、ユーザーに代わって GitHub API にアクセスできます。

次のステップ

まず、GitHub Marketplace で既存の拡張機能を探索して、一般的なパターンとユースケースを理解しましょう。本番環境用の拡張機能については、以下を検討してください:

  • 適切なエラーハンドリングの実装
  • 複雑な操作のための関数呼び出しの追加
  • 組織の内部 API との統合
  • インテリジェントなレスポンスのための Copilot LLM API の使用

廃止スケジュールを考慮すると、VS Code Copilot Extensions は新規開発において最も将来性のある選択肢です。エコシステムは急速に進化を続けており、MCP サーバーが次世代の拡張機能アーキテクチャとして台頭しています。

まとめ

パートナー拡張機能をインストールする場合でも、カスタム統合を構築する場合でも、GitHub Copilot Extensions は開発者がツールと対話する方法を根本的に変え、コンテキストの切り替えなしにフロー状態を維持し、生産性を保ちます。GitHub App ベースの拡張機能の廃止が近づいているため、長期的なソリューションとして VS Code 拡張機能や MCP サーバーを検討する絶好の機会です。

よくある質問

いいえ、2025 年 9 月 23 日以降、新しい GitHub App ベースの拡張機能は作成できません。既存のものは 2025 年 11 月 10 日まで動作し続けます。代わりに VS Code 拡張機能の構築や MCP サーバーの検討をお勧めします。

GitHub App には、Copilot Chat を読み取り専用権限に設定し、App Type を Agent として設定する必要があります。追加の権限は、拡張機能がアクセスする必要がある GitHub API によって異なります。

ngrok などのトンネリングサービスを使用して、ローカルサーバーをインターネットに公開します。GitHub App の Webhook URL を ngrok URL で設定し、Copilot Chat で @ に続けて拡張機能名を入力してテストします。

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay