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 から拡張機能をインストールする
既存の拡張機能を使い始めるには、わずか数分で完了します:
- GitHub Marketplace で利用可能な拡張機能を閲覧
- 選択した拡張機能の「Install」をクリック
- 必要な権限を付与
- Copilot Chat で
@
に続けて拡張機能名を入力してアクセス
例えば、@sentry
と入力するとエラーログを分析でき、@docker
はコンテナのビルドとデプロイを支援します—すべて自然言語コマンドで実行できます。
Discover how at OpenReplay.com.
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 を設定する
- Settings → Developer settings → GitHub Apps に移動
- 以下の設定で新しい 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.