0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Tips - Copilot Agent を使う

Posted at

Tips - Copilot Agent を使う

1. はじめに

GitHub Copilot Coding Agentは、開発ワークフローを根本から変える可能性を秘めた機能です。単なるコード補完ツールではありません。Issueの内容を理解し、コードを書き、テストを実行し、プルリクエストを作成するまでを自律的に行うエージェントです。

本記事では、公式ドキュメントの内容を基に、この強力な機能の全体像を技術者の視点で解説します。

2. 利用可能なプラン

Copilot Coding Agentは以下のプランで利用できます:

  • GitHub Copilot Pro
  • GitHub Copilot Pro+
  • GitHub Copilot Business
  • GitHub Copilot Enterprise

ただし、マネージドユーザーアカウントが所有するリポジトリや、明示的に無効化されているリポジトリでは利用できません。

3. 基本的なワークフロー

Copilot Coding Agentの動作フローは以下の通りです:

4. タスクの依頼方法

4.1. GitHub Issuesからの依頼

最も直感的な方法は、IssueをCopilotに割り当てることです。

手順:

  1. リポジトリのIssuesページを開く
  2. 対象のIssueを開く
  3. 右サイドバーの「Assignees」をクリック
  4. リストから「Copilot」を選択
  5. 必要に応じて追加の指示を入力
  6. リポジトリとベースブランチを選択
  7. Copilotが作業を開始

オプション設定:

  • 対象リポジトリ: 作業するリポジトリを選択(読み取り権限があるすべてのリポジトリが表示されますが、書き込み権限が必要)
  • ベースブランチ: プルリクエストのベースとなるブランチ
  • カスタムエージェント: 特化した動作を持つカスタムエージェントの選択
  • AIモデル: Pro/Pro+ユーザーは使用するモデルを選択可能

4.2. Agentsタブ/パネルからの依頼

GitHub上のどのページからも、画面右上のアイコンからAgentsパネルを開けます。

手順:

  1. 画面右上のアイコンをクリック
  2. リポジトリを選択
  3. プロンプトを入力(例:「エラーメッセージをユーザーフレンドリーにする」)
  4. 必要に応じてベースブランチを選択
  5. 「Start task」をクリック

4.3. IDEからの依頼

4.3.1. Visual Studio Code

前提条件:

  • GitHub Pull Requests拡張機能のインストールが必要

4.3.2. JetBrains IDEs

  1. GitHub Copilot Chatを開く
  2. タスクを説明
  3. 「Delegate to Coding Agent」ボタンをクリック
  4. セッションが開始され、プルリクエストへのリンクが表示される

4.3.3. Eclipse

  1. Copilot Chatを開く
  2. タスクを説明
  3. 送信ボタン横のアイコンをクリック
  4. リポジトリを選択して「Continue」

4.3.4. Visual Studio

  1. Copilot Chatを開く
  2. @githubで始まるプロンプトを入力(例:@github ファイル名と変数にバッククォートを追加するPRを作成して
  3. 「Allow」で確認
  4. セッション開始

4.4. GitHub CLIからの依頼

# 基本的な使用方法
gh agent-task create "ここにタスクの説明"

# オプション付き
gh agent-task create "タスクの説明" \
  --base develop \
  --repo owner/repo-name \
  --follow

主なオプション:

  • --base: ベースブランチの指定
  • --repo: 対象リポジトリの指定
  • --follow: セッションログをリアルタイムで表示

利用可能なコマンド:

# タスク一覧の表示
gh agent-task list

# 特定のタスクの詳細表示
gh agent-task view --repo owner/repo 123

# ログの表示(リアルタイム追跡)
gh agent-task view --repo owner/repo 123 --log --follow

4.5. その他のエントリーポイント

4.5.1. Raycast(macOS)

  1. Raycastをインストール
  2. GitHub Copilot拡張機能をインストール
  3. Raycastで「Copilot」を検索
  4. 「Create Task」を選択
  5. GitHubでサインイン
  6. プロンプトを入力してリポジトリを選択

4.5.2. GitHub Mobile

  1. リポジトリに移動
  2. 画面右下のアイコンをタップ
  3. プロンプトを入力(例:「XXXを実装するプルリクエストを作成」)
  4. 「Accept」で確認

4.5.3. Copilot Chat on GitHub.com

  1. GitHub.comでCopilot Chatを開く
  2. /taskコマンドを使用
  3. 詳細を入力
  4. 「Start task」をクリック

4.5.4. 新規リポジトリ作成時

リポジトリ作成フォームの「Prompt」フィールドにプロンプトを入力すると、Copilotが初期実装を行います。

例:「CSV をMarkdownに変換するRust CLIを作成」

4.6. チームコラボレーションツールからの依頼

4.6.1. Slack統合

セットアップ:

  1. GitHub App for Slackをインストール
  2. Slackで@GitHub CopilotにメンションまたはDMを送信
  3. GitHubアカウントに接続
  4. デフォルトリポジトリを設定

使用方法:

@GitHub Add "Hello World" to the README in repo=owner/repo-name branch=main

パラメータ:

  • repo=: 対象リポジトリ
  • branch=: ベースブランチ

注意事項:

  • スレッド全体がコンテキストとして使用されます
  • コンテキストを制限したい場合は、DMを使用してください

4.6.2. Teams統合

インストール:

  1. GitHub integrationのインストールリンクを開く
  2. 「Add」をクリック
  3. 認証フローに従う

使用方法:

@GitHub Add "Hello World" to the README in repo=owner/repo-name branch=main

Slackと同様の動作で、スレッド全体がコンテキストとして使用されます。

4.6.3. Linear統合

  1. Copilot for Linearページで「Configure」をクリック
  2. 組織/エンタープライズで設定
  3. LinearのissueでCopilotをアサイン
  4. リポジトリを指定
  5. プルリクエストが自動作成される

4.7. GitHub APIからの依頼

4.7.1. GraphQL API

必要な権限(Fine-grained PAT):

  • メタデータ:読み取り
  • Actions、Contents、Issues、Pull Requests:読み取りと書き込み

ヘッダー要件:

GraphQL-Features: issues_copilot_assignment_api_support,coding_agent_model_selection

Issue作成と同時にアサイン:

mutation {
  createIssue(input: {
    repositoryId: "REPOSITORY_ID",
    title: "包括的なユニットテストの実装",
    body: "詳細",
    assigneeIds: ["BOT_ID"],
    agentAssignment: {
      targetRepositoryId: "REPOSITORY_ID",
      baseRef: "main",
      customInstructions: "包括的なテストカバレッジを追加",
      customAgent: "",
      model: ""
    }
  }) {
    issue {
      id
      title
    }
  }
}

既存Issueのアサイン:

mutation {
  replaceActorsForAssignable(input: {
    assignableId: "ISSUE_ID",
    actorIds: ["BOT_ID"],
    agentAssignment: {
      targetRepositoryId: "REPOSITORY_ID",
      baseRef: "main",
      customInstructions: "報告されたバグを修正",
      customAgent: "",
      model: ""
    }
  }) {
    assignable {
      ... on Issue {
        id
        title
      }
    }
  }
}

4.7.2. REST API

Issueの作成:

gh api \
  --method POST \
  -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  /repos/OWNER/REPO/issues \
  --input - <<< '{
  "title": "Issueのタイトル",
  "body": "Issueの説明",
  "assignees": ["copilot-swe-agent[bot]"],
  "agent_assignment": {
    "target_repo": "OWNER/REPO",
    "base_branch": "main",
    "custom_instructions": "",
    "custom_agent": "",
    "model": ""
  }
}'

既存Issueへのアサイン:

gh api \
  --method POST \
  -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  /repos/OWNER/REPO/issues/ISSUE_NUMBER/assignees \
  --input - <<< '{
  "assignees": ["copilot-swe-agent[bot]"],
  "agent_assignment": {
    "target_repo": "OWNER/REPO",
    "base_branch": "main",
    "custom_instructions": "",
    "custom_agent": "",
    "model": ""
  }
}'

4.8. Model Context Protocol(MCP)サーバー経由

前提条件:

  • リモートGitHub MCPサーバーとMCPサーバーをサポートするホストアプリケーションが必要

手順:

  1. 使用するIDEまたはエージェントコーディングツールにGitHub MCPサーバーをインストール
  2. create_pull_request_with_copilotツールが有効化されていることを確認
  3. チャットを開く
  4. プロンプトを入力(例:「リポジトリでユニットテストカバレッジを拡張するPRを開いて」)
  5. セッションが開始され、プルリクエストのURLが表示される

5. エージェントの進捗管理

5.1. セッションの監視

5.2. Agentsタブでの監視

アクセス方法:

  • 画面右上のアイコンをクリック→「View all」
  • または直接 github.com/copilot/agents にアクセス

表示内容:

  • セッション一覧(実行中・過去)
  • 各セッションのステータス
  • セッションログ
  • トークン使用量
  • セッション数
  • セッション時間

ワークベンチの表示:

セッションを選択後、「Open workbench」ボタンをクリックすると以下が表示されます:

  • Overview: 変更内容のサマリー
  • File diff: ファイルの差分
  • Premium request usage: プレミアムリクエストの使用状況
  • Session count: セッション数

5.3. GitHub CLIでの監視

# セッション一覧の表示
gh agent-task list

# 特定セッションの詳細表示
gh agent-task view --repo owner/repo 123

# ログの表示
gh agent-task view --repo owner/repo 123 --log

# ライブログのストリーミング
gh agent-task view --repo owner/repo 123 --log --follow

5.4. Raycastでの監視

  1. Raycastを開く
  2. 「Copilot」を検索
  3. 「View Tasks」を選択
  4. タスク一覧が表示される
  5. Enterキーでプルリクエストに移動
  6. Command+Lでセッションログを表示

5.5. Visual Studio Codeでの監視

前提条件:

  • GitHub Pull Requests拡張機能のインストール

手順:

  1. サイドバーのGitHubボタンをクリック
  2. セッション一覧が表示される
  3. セッションをクリックしてプルリクエストに移動
  4. 「View Session」をクリックしてログを表示

VS Code Insidersで直接開く:

Agentsタブで「Open in VS Code」オプションを使用すると、セッションを直接VS Codeで開けます。

5.6. JetBrains IDEsでの監視

  1. サイドバーの「GitHub Coding Agent Jobs」ボタンをクリック
  2. またはCopilot Chatから「Open Job List」をクリック
  3. セッション一覧が表示される
  4. 「Open in Browser」でプルリクエストを開く
  5. 実行中のジョブを右クリック→「Cancel Job」でキャンセル可能

通知機能:

  • エージェントジョブの開始時
  • エージェントジョブの完了時

5.7. Eclipseでの監視

  1. チャットウィンドウ右上のアイコンをクリック
  2. またはCopilot Chatから「Open Job List」をクリック
  3. JetBrainsと同様の機能が利用可能

5.8. GitHub Mobileでの監視

  1. ホームページの「Agents」セクションで「Agent Tasks」をタップ
  2. 現在開いているプルリクエスト一覧が表示される
  3. リスト上部のボタンでフィルタリング可能(Open、Merged等)

5.9. セッションログの活用

セッションログには以下が記録されます:

  • Copilotの内部思考プロセス
  • 使用したツール
  • リポジトリの理解プロセス
  • 変更の実装過程
  • バリデーション(テスト・リンター実行)

重要なポイント:

Copilotは独自の開発環境を持ち、自動テストやリンターを実行して変更を検証してからプッシュします。

5.10. エージェントのステアリング

作業中のエージェントに追加の指示を与えることができます。

ステアリングが必要な場面:

  • Copilotが間違った方向に進んでいる
  • 要件の説明に誤りがあった
  • やり直したい

手順:

  1. Agentsタブを開く
  2. Agent sessionsリストから対象タスクを選択
  3. プロンプトボックスに指示を入力
  4. 例:「各エンドポイントにtry-catchブロックを書く代わりに、既存のErrorHandlerユーティリティクラスを使用して」

注意事項:

  • ステアリングは1メッセージあたり1プレミアムリクエストを消費
  • Copilotは現在のツール呼び出しを完了してから指示を実装

5.11. セッションの停止

セッションログビューアーの「Stop session」ボタンでセッションを停止できます。

停止が必要な場面:

  • 要件の説明に誤りがあり、最初からやり直したい
  • 変更が不要だと気づいた

6. プルリクエストのレビュー

6.1. 基本的なレビューフロー

6.2. レビューの実施

重要な注意事項:

ブランチ保護ルールでプルリクエストの承認が必要な場合:

  • Issueをアサインしてプルリクエストを開始した場合、あなたの承認は必要数にカウントされません
  • 別の人の承認が必要です
  • 「Require approval of the most recent reviewable push」設定が有効な場合、最終プッシュにはn+1の承認が必要(nは必要承認数)

レビューのベストプラクティス:

  1. バッチレビュー: コメントは個別ではなくまとめて送信することを推奨
  2. 書き込み権限が必要: Copilotは書き込み権限を持つユーザーのコメントにのみ応答
  3. コンテキストの継承: 同じプルリクエストで新しいセッションを開始すると、Copilotは前回のセッションのコンテキストを記憶

6.3. @copilotでの変更依頼

プルリクエストのコメントで@copilotをメンションすると、Copilotが変更を実施します。

動作の流れ:

  1. コメントに@copilotでメンション
  2. Copilotがコメントに👀リアクションを追加
  3. タイムラインに「Copilot has started work」イベントが追加
  4. 新しいエージェントセッションが開始

カスタムエージェントの継続:

カスタムエージェントが作成したプルリクエストで@copilotをメンションすると、同じカスタムエージェントが使用されます。

6.4. GitHub Actionsワークフローの管理

重要なセキュリティ考慮事項:

Copilotがプッシュした変更に対して、GitHub Actionsワークフローは自動実行されません。

理由:

  • ワークフローは特権的で、機密のシークレットにアクセス可能
  • 提案された変更を検査する必要がある
  • 特に.github/workflows/ディレクトリの変更には注意

ワークフローの実行方法:

  1. プルリクエストの変更内容を確認
  2. ワークフローを実行しても安全であることを確認
  3. マージボックスの「Approve and run workflows」ボタンをクリック

6.5. フィードバックの提供

プルリクエストやコメントに表示される👍👎ボタンでフィードバックを提供できます。

フィードバックの使用目的:

  • 製品改善
  • Copilotのソリューション品質向上

7. 既存プルリクエストへの変更依頼

人間が作成した既存のプルリクエストに対して、Copilotに変更を依頼できます。

7.1. 動作の仕組み

特徴:

  • Copilotは既存PRのブランチをベースに子プルリクエストを作成
  • 元のプルリクエストは子PRをマージするまで変更されない
  • 完全なコントロールを維持

手順:

  1. 変更したいプルリクエストに移動
  2. @copilotをメンションしてコメントまたはレビューを残す
  3. Copilotが子プルリクエストを作成
  4. 作業完了後、レビュー依頼が届く
  5. レビューして承認
  6. 子プルリクエストを元のブランチにマージ

8. カスタムエージェント

カスタムエージェントは、特定のタスクに特化した専門的なエージェントを作成する機能です。

8.1. カスタムエージェントの作成場所

8.2. GitHub上での作成

手順:

  1. github.com/copilot/agentsにアクセス
  2. リポジトリを選択
  3. ブランチを選択(デフォルトはmain)
  4. アイコンをクリック→「Create an agent」
  5. .github/agents/my-agent.agent.mdが作成される
  6. ファイル名を変更(使用可能文字:. - _ a-z A-Z 0-9
  7. エージェントプロファイルを設定
  8. コミットしてデフォルトブランチにマージ

組織/エンタープライズレベル:

.github-privateリポジトリのagents/ディレクトリ(.github/なし)に作成すると、組織/エンタープライズ全体で利用可能になります。

8.3. Visual Studio Codeでの作成

  1. Copilot Chatを開く
  2. エージェントドロップダウンから「Configure Custom Agents...」
  3. 「Create new custom agent」をクリック
  4. 保存場所を選択:
    • Workspace: .github/agents/フォルダ(ワークスペース内のみ)
    • User profile: ユーザープロファイルフォルダ(全ワークスペース)
  5. ファイル名を入力
  6. エージェントプロファイルを設定

ツールの設定:

エディタ内の「Configure Tools...」ボタンで利用可能なツールを選択できます(ビルトインツールとMCPサーバーのツール)。

モデルの設定:

model:プロパティを追加してAIモデルを選択します。

8.4. JetBrains IDEsでの作成

  1. Copilot Chatを開く
  2. エージェントドロップダウンから「Configure Agents...」
  3. 「Chat Agents」→「Workspace」をクリック
  4. ファイル名を入力
  5. .github/agents/にエージェントプロファイルが作成される
  6. 「Configure Tools...」ボタンでツールを選択
  7. model:プロパティでAIモデルを選択

8.5. Eclipseでの作成

  1. Copilot Chatを開く
  2. エージェントドロップダウンから「Configure Agents...」
  3. 「Add...」をクリック
  4. ファイル名を入力
  5. .github/agents/にエージェントプロファイルが作成される
  6. 設定はJetBrainsと同様

8.6. Xcodeでの作成

  1. Copilot Chatを開く
  2. エージェントドロップダウンから「Create an agent」
  3. ファイル名を入力
  4. .github/agents/にエージェントプロファイルが作成される
  5. 「Customize Agent」ボタンで設定
    • AIモデルの選択
    • ツールの選択
    • ハンドオフプロパティの設定

8.7. エージェントプロファイルの設定

エージェントプロファイルはYAMLフロントマターを持つMarkdownファイルです。

基本構造:

---
name: test-specialist
description: テストカバレッジ、品質、ベストプラクティスに焦点を当て、本番コードは変更しない
tools: ["read", "edit", "search"]
model: "claude-sonnet-4-20250514"
target: "github-copilot"
---

あなたは包括的なテストを通じてコード品質を向上させることに焦点を当てたテストスペシャリストです。

責任:
- 既存のテストを分析し、カバレッジのギャップを特定
- ベストプラクティスに従って、ユニットテスト、統合テスト、E2Eテストを作成
- テストの品質をレビューし、保守性向上のための提案
- テストが独立し、決定論的で、適切に文書化されていることを確認
- 明示的に要求されない限り、テストファイルのみに焦点を当て、本番コードの変更を避ける

常に明確なテスト説明を含め、言語とフレームワークに適したテストパターンを使用してください。

設定可能なプロパティ:

  • name: カスタムエージェントの名前(省略時はファイル名)
  • description: エージェントの説明(必須)
  • tools: 使用可能なツールのリスト(省略時は全ツール)
  • mcp-servers: 組織/エンタープライズレベルのエージェント用MCPサーバー設定
  • model: 使用するAIモデル(VS Code、JetBrains、Eclipse、Xcode)
  • target: 使用環境(vscodeまたはgithub-copilot、省略時は両方)

プロンプトの記述:

YAMLフロントマター以降のMarkdown本文にエージェントの動作、専門知識、指示を記述します(最大30,000文字)。

8.8. エージェントプロファイル例

8.8.1. テストスペシャリスト

---
name: test-specialist
description: テストカバレッジ、品質、ベストプラクティスに焦点を当て、本番コードは変更しない
---

あなたは包括的なテストを通じてコード品質を向上させることに焦点を当てたテストスペシャリストです。

責任:
- 既存のテストを分析し、カバレッジのギャップを特定
- ベストプラクティスに従って、ユニットテスト、統合テスト、E2Eテストを作成
- テストの品質をレビューし、保守性向上のための提案
- テストが独立し、決定論的で、適切に文書化されていることを確認
- 明示的に要求されない限り、テストファイルのみに焦点を当て、本番コードの変更を避ける

常に明確なテスト説明を含め、言語とフレームワークに適したテストパターンを使用してください。

特徴: toolsプロパティを省略することで、すべてのツールを有効化

8.8.2. 実装プランナー

---
name: implementation-planner
description: 詳細な実装計画と技術仕様をMarkdown形式で作成
tools: ["read", "search", "edit"]
---

あなたは包括的な実装計画の作成に焦点を当てた技術計画スペシャリストです。

責任:
- 要件を分析し、実行可能なタスクに分解
- 詳細な技術仕様とアーキテクチャドキュメントを作成
- 明確なステップ、依存関係、タイムラインを持つ実装計画を生成
- API設計、データモデル、システム間相互作用を文書化
- 開発チームが従える構造化された計画をMarkdownファイルで作成

常に明確な見出し、タスクの分解、受け入れ基準で計画を構造化してください。テスト、デプロイ、潜在的なリスクの考慮事項を含めてください。コードの実装ではなく、徹底的なドキュメント作成に焦点を当ててください。

特徴: ツールのサブセットのみを有効化

8.9. カスタムエージェントの使用

8.9.1. GitHub.com上

  1. Agentsパネルまたはタブでタスクをプロンプト
  2. ドロップダウンメニューでカスタムエージェントを選択
  3. Issueをアサインする際もドロップダウンから選択可能

8.9.2. GitHub Copilot CLI

# /agentスラッシュコマンドで選択
/agent

# プロンプト内で呼び出し
# 「リファクタリングエージェントを使ってこのコードブロックをリファクタリング」

# コマンドラインオプションで指定
copilot --agent=refactor-agent --prompt "このコードブロックをリファクタリング"

Copilotは自動的に使用したいエージェントを推測します。

8.9.3. IDE内

VS Code、JetBrains、Eclipse、XcodeでChatウィンドウのエージェントドロップダウンから選択できます。

注意事項:

一部のプロパティは、GitHub.comとIDE環境で動作が異なる、または無視される場合があります。

8.10. プルリクエストでの確認

Copilotがプルリクエストを作成すると、プルリクエストの説明にどのカスタムエージェントが使用されたかが記載されます。

8.11. 組織/エンタープライズでのテストとリリース

8.11.1. テストエージェントの作成

  1. .github-privateリポジトリに.github/agentsディレクトリを作成
  2. このディレクトリのエージェントは、リポジトリへのアクセス権を持つメンバーのみ利用可能
  3. エージェントプロファイルを作成
  4. デフォルトブランチにマージ

8.11.2. テストの実施

  1. github.com/copilot/agentsにアクセス
  2. .github-privateリポジトリを選択
  3. テストエージェントを選択
  4. プロンプトを送信してテスト
  5. 「Recent sessions」でセッション詳細を確認
  6. 満足するまで変更とテストを繰り返し

8.11.3. リリース

  1. .github-privateリポジトリでエージェントプロファイルを.github/agentsからagentsに移動
  2. デフォルトブランチにマージ
  3. 組織/エンタープライズのすべてのユーザーが利用可能に

9. Model Context Protocol(MCP)による拡張

MCPは、Copilot Coding Agentの機能を外部サービスやツールで拡張するプロトコルです。

9.1. MCPサーバーの設定(リポジトリ管理者)

前提条件:

  • リポジトリの管理者権限

設定手順:

  1. リポジトリのメインページに移動
  2. 「Settings」タブをクリック
  3. サイドバーの「Code & automation」→「Copilot」→「Coding agent」
  4. 「MCP configuration」セクションにJSON設定を追加
  5. 「Save」をクリック

重要な警告:

MCPサーバーを設定すると、Copilotはサーバーが提供するツールを自律的に使用します。承認を求めません。

注意事項:

  • Copilot Coding Agentはツールのみサポート(リソースやプロンプトは非サポート)
  • OAuthを使用する認証/認可のリモートMCPサーバーは現在サポートされていません

9.2. JSON設定の記述

基本構造:

{
  "mcpServers": {
    "サーバー名1": {
      "command": "値",
      "args": ["値"],
      ...
    },
    "サーバー名2": {
      "command": "値",
      "args": ["値"],
      ...
    }
  }
}

必須キー(ローカル・リモート共通):

  • tools: 有効化するツールの配列(["*"]で全ツール有効化、特定の読み取り専用ツールの許可リスト化を強く推奨)
  • type: "local", "http", "sse"のいずれか

ローカルMCP固有のキー:

  • command: サーバーを起動するコマンド(必須)
  • args: コマンドに渡す引数(必須)
  • env: 環境変数(オプション)
    • GitHub Actionsシークレット名(COPILOT_MCP_で始まる)
    • 文字列値

リモートMCP固有のキー:

  • url: MCPサーバーのURL(必須)
  • headers: リクエストに付加するヘッダー(オプション)
    • GitHub Actionsシークレット名($を前置)
    • 文字列値

9.3. 設定例

9.3.1. Sentry

{
  "mcpServers": {
    "sentry": {
      "type": "local",
      "command": "npx",
      "args": ["@sentry/mcp-server@latest", "--host=$SENTRY_HOST"],
      "tools": ["get_issue_details", "get_issue_summary"],
      "env": {
        "SENTRY_HOST": "https://example.sentry.io",
        "SENTRY_ACCESS_TOKEN": "COPILOT_MCP_SENTRY_ACCESS_TOKEN"
      }
    }
  }
}

9.3.2. Notion

{
  "mcpServers": {
    "notionApi": {
      "type": "local",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "OPENAPI_MCP_HEADERS={\"Authorization\": \"Bearer $NOTION_API_KEY\", \"Notion-Version\": \"2022-06-28\"}",
       "mcp/notion"
      ],
      "env": {
        "NOTION_API_KEY": "COPILOT_MCP_NOTION_API_KEY"
      },
      "tools": ["*"]
    }
  }
}

9.3.3. Azure

前提条件:

Azure Developer CLIのazd coding-agent configコマンドを実行してcopilot-setup-steps.ymlと認証用シークレットを設定。

{
  "mcpServers": {
    "Azure": {
      "type": "local",
      "command": "npx",
      "args": [
        "-y",
        "@azure/mcp@latest",
        "server",
        "start"
      ],
      "tools": ["*"]
    }
  }
}

9.3.4. Cloudflare

{
  "mcpServers": {
    "cloudflare": {
      "type": "sse",
      "url": "https://docs.mcp.cloudflare.com/sse",
      "tools": ["*"]
    }
  }
}

9.3.5. Azure DevOps

前提条件:

  1. Microsoft Entra applicationでOIDCを設定
  2. Azure DevOps組織とプロジェクトへのアクセスを設定
  3. .github/workflows/copilot-setup-steps.ymlを追加
  4. Azureログインステップを追加:
on:
  workflow_dispatch:
permissions:
  id-token: write
  contents: read
jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: read
    environment: copilot
    steps:
      - name: "Azure ログイン"
        uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          allow-no-subscriptions: true
  1. Copilot環境にAZURE_CLIENT_IDAZURE_TENANT_IDのシークレットを追加

MCP設定:

{
  "mcpServers": {
    "ado": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "@azure-devops/mcp", "<組織名>", "-a", "azcli"],
      "tools": ["wit_get_work_item", "wit_get_work_items_batch_by_ids"]
    }
  }
}

9.4. VS CodeのMCP設定の再利用

VS Codeで既にMCP設定している場合、それをCopilot Coding Agentに適応できます。

設定ファイルの場所:

  • .vscode/mcp.json
  • またはマシンのプライベートsettings.json

適応に必要な変更:

  1. 各MCPサーバーにtoolsキーを追加
  2. inputsenvに変更
  3. envFileenvに変更
  4. args内のinputs参照をenvの環境変数参照に変更

9.5. Copilot環境の設定

MCPサーバーがキーやシークレットを必要とする場合、Copilot用の環境を作成します。

手順:

  1. リポジトリの「Settings」→「Environments」
  2. 「New environment」をクリック
  3. 環境名をcopilotにして「Configure environment」
  4. 「Environment secrets」で「Add environment secret」
  5. シークレット名をCOPILOT_MCP_で始める名前にして追加

9.6. MCP設定の検証

手順:

  1. リポジトリにIssueを作成
  2. IssueをCopilotにアサイン
  3. Copilotが👀リアクションを追加(数秒待つ)
  4. プルリクエストが作成される
  5. 「Copilot started work」イベントをクリック
  6. 「View session」でログを開く
  7. 右上の「...」→「Copilot」をクリック
  8. 「Start MCP Servers」ステップを展開
  9. ログの最下部にツール一覧が表示されれば成功

依存関係のインストールが必要な場合:

uvpipxなどがデフォルトでインストールされていない場合、copilot-setup-steps.ymlを作成してインストールします。

9.7. ビルトインGitHub MCPサーバーのカスタマイズ

GitHub MCPサーバーはデフォルトで有効化されており、現在のリポジトリへの読み取り専用アクセスを持つトークンで接続されます。

より広いアクセスを許可する方法:

  1. 適切な権限を持つPersonal Access Tokenを作成(Fine-grained PATを推奨)
  2. リポジトリの「Settings」→「Copilot」→「Coding agent」
  3. MCP設定に以下を追加:
{
  "mcpServers": {
    "github-mcp-server": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/readonly",
      "tools": ["*"],
      "headers": {
        "X-MCP-Toolsets": "repos,issues,users,pull_requests,code_security,secret_protection,actions,web_search"
      }
    }
  }
}

より広いアクセスが必要な場合は、URLから/readonlyを削除し、X-MCP-Toolsetsヘッダーで必要なツールセットを指定します。

  1. 「Save」をクリック
  2. 「Environments」→copilot環境
  3. 「Add environment secret」をクリック
  4. シークレット名をCOPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKENにしてトークンを追加

10. 開発環境のカスタマイズ

Copilotは独自のエフェメラルな開発環境(GitHub Actions上)を持ち、コードの探索、変更、テスト、リンター実行などを行います。

10.1. セットアップステップの設定

目的:

  • ツールや依存関係の事前インストール
  • 環境変数の設定
  • より大きなランナーへのアップグレード
  • ARCベースの自己ホストランナーの使用
  • Git Large File Storage(LFS)の有効化
  • ファイアウォールの無効化またはカスタマイズ

設定方法:

.github/workflows/copilot-setup-steps.ymlファイルを作成します。

基本的な例(TypeScriptプロジェクト):

name: "Copilot セットアップステップ"

on:
  workflow_dispatch:
  push:
    paths:
      - .github/workflows/copilot-setup-steps.yml
  pull_request:
    paths:
      - .github/workflows/copilot-setup-steps.yml

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest

    permissions:
      contents: read

    steps:
      - name: "コードのチェックアウト"
        uses: actions/checkout@v5

      - name: "Node.jsのセットアップ"
        uses: actions/setup-node@v4
        with:
          node-version: "20"
          cache: "npm"

      - name: "JavaScript依存関係のインストール"
        run: npm ci

カスタマイズ可能な設定:

  • steps: 実行するステップ
  • permissions: 必要な権限
  • runs-on: 実行環境(ランナー)
  • services: サービスコンテナ
  • snapshot: スナップショット設定
  • timeout-minutes: タイムアウト(最大59分)

重要な注意事項:

  • ジョブ名は必ずcopilot-setup-stepsにする
  • デフォルトブランチに配置されている必要がある
  • actions/checkoutfetch-depthは上書きされる

検証方法:

  1. ファイルをマージ後、Actionsタブから手動実行して動作確認
  2. Copilot実行時、セッションログでセットアップステップの実行状況を確認
  3. いずれかのステップが失敗(非ゼロ終了コード)した場合、残りのステップはスキップされ、Copilotは現在の状態で作業を開始

10.2. 環境変数の設定

手順:

  1. リポジトリの「Settings」→「Environments」
  2. copilot環境をクリック
  3. シークレットまたは変数を追加:
    • シークレット: 「Environment secrets」で「Add environment secret」
    • 変数: 「Environment variables」で「Add environment variable」
  4. 名前と値を入力して保存

使用例:

これらの環境変数やシークレットは、Copilotの実行環境で自動的に利用可能になります。

10.3. より大きなGitHub-hostedランナーへのアップグレード

背景:

デフォルトのランナーはリソースが限られています。より多くのRAM、CPU、ディスク容量が必要な場合、より大きなランナーを使用できます。

前提条件:

  1. より大きなランナーを追加
  2. リポジトリでの使用を設定

設定方法:

copilot-setup-steps.ymlruns-onを変更:

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-4-core

注意事項:

Copilot Coding AgentはUbuntu x64 Linuxランナーのみ対応。Windows、macOS、その他のOSは非対応。

10.4. ARCベースの自己ホストランナーの使用

前提条件:

  1. ARC(Actions Runner Controller)のセットアップ
  2. ネットワークセキュリティの設定

必要なホスト:

標準のGitHub Actions自己ホストランナー用ホストに加えて:

  • api.githubcopilot.com
  • uploads.github.com
  • user-images.githubusercontent.com

設定手順:

  1. リポジトリ設定でCopilot Coding Agentの統合ファイアウォールを無効化(ファイアウォールは自己ホストランナーと互換性がない)
  2. copilot-setup-steps.ymlruns-onをARC管理スケールセット名に変更:
jobs:
  copilot-setup-steps:
    runs-on: arc-scale-set-name

プロキシサーバーの設定:

以下の環境変数を設定:

変数 説明
https_proxy HTTPS トラフィック用のプロキシURL http://proxy.local
http://192.168.1.1:8080
http://username:password@proxy.local
http_proxy HTTP トラフィック用のプロキシURL 同上
no_proxy プロキシをバイパスするホストのカンマ区切りリスト example.com
example.com,myserver.local:443,example.org
ssl_cert_file プロキシサーバーが提示するSSL証明書のパス /path/to/key.pem
node_extra_ca_certs プロキシサーバーが提示するSSL証明書のパス /path/to/key.pem

これらは上記の環境変数設定方法で設定するか、カスタムランナーイメージに組み込みます。

重要な警告:

ARCは自己ホストランナーで公式にサポートされている唯一のソリューションです。セキュリティ上の理由から、非ARCの自己ホストランナーの使用は推奨されません。

10.5. Git Large File Storage(LFS)の有効化

設定方法:

copilot-setup-stepsジョブにactions/checkoutステップを追加し、lfsオプションをtrueに設定:

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - uses: actions/checkout@v5
        with:
          lfs: true

11. ファイアウォールのカスタマイズ

11.1. ファイアウォールの概要

目的:

データ流出リスクの管理。Copilotの予期しない動作や悪意のある指示によってコードや機密情報がリモートロケーションに漏洩することを防ぐ。

デフォルトの動作:

  • Copilotが使用するGitHubホストへのアクセスは常に許可
  • 推奨許可リストがデフォルトで有効化(依存関係のダウンロードを許可)

ブロック時の動作:

ファイアウォールがリクエストをブロックすると、プルリクエスト本文またはコメントに警告が追加されます。警告にはブロックされたアドレスとリクエストを試みたコマンドが表示されます。

11.2. ファイアウォールの制限事項

重要な制限:

  1. エージェントが開始したプロセスのみに適用: Bashツールでエージェントが開始したプロセスにのみ適用。MCPサーバーやセットアップステップで開始されたプロセスには適用されない
  2. GitHub Applianceの内部のみ: GitHub Actions appliance環境内でのみ動作
  3. バイパスの可能性: 高度な攻撃によってバイパスされる可能性がある

これらの制限により、ファイアウォールは一般的なシナリオでの保護層ですが、包括的なセキュリティソリューションとは見なされません。

11.3. 推奨許可リスト

含まれる内容:

  • 一般的なOSパッケージリポジトリ(Debian、Ubuntu、Red Hat)
  • 一般的なコンテナレジストリ(Docker Hub、Azure Container Registry、AWS ECR)
  • 主要プログラミング言語のパッケージレジストリ(C#、Dart、Go、Haskell、Java、JavaScript、Perl、PHP、Python、Ruby、Rust、Swift)
  • 一般的な認証局(SSL証明書の検証用)
  • Playwright MCPサーバー用のWebブラウザダウンロードホスト

11.4. 推奨許可リストの無効化

手順:

  1. リポジトリの「Settings」→「Copilot」→「Coding agent」
  2. 「Recommended allowlist」設定をオフに切り替え

注意事項:

推奨許可リストを無効化すると、外部リソースへの不正アクセスのリスクが増加する可能性があります。

推奨許可リストに加えて独自の許可リストを使用する場合:

「Recommended allowlist」設定をオンのままにして、「Custom allowlist」ページで追加のアドレスを追加します。

11.5. カスタム許可リストの追加

手順:

  1. リポジトリの「Settings」→「Copilot」→「Coding agent」
  2. 「Custom allowlist」をクリック
  3. 許可するアドレスを追加:

ドメイン形式:

  • 例:packages.example.corp
  • 指定したドメインとすべてのサブドメインへのトラフィックを許可
  • packages.example.corpprod.packages.example.corpも許可するが、artifacts.example.corpは許可しない

URL形式:

  • 例:https://packages.example.corp/project-1/
  • 指定したスキーム(https)とホスト(packages.example.corp)のみで、指定したパスとその子孫パスに限定
  • https://packages.example.corp/project-1/https://packages.example.corp/project-1/tags/latestを許可するが、https://packages.example.corp/project-2ftp://packages.example.corphttps://artifacts.example.corpは許可しない
  1. 「Add Rule」をクリック
  2. リストを検証後、「Save changes」をクリック

11.6. ファイアウォールの無効化

警告:

ファイアウォールを無効化すると、Copilotは任意のホストに接続でき、コードや機密情報の流出リスクが増加します。

手順:

「Enable firewall」設定をオフに切り替えます。

12. コードレビュー

12.1. 自動コードレビューの設定

Copilotにプルリクエストを自動的にレビューさせる設定ができます。

12.1.1. 自分のプルリクエスト用

前提条件: Copilot ProまたはCopilot Pro+プラン

手順:

  1. 右上のプロファイル写真をクリック→「Copilot settings」
  2. 「Automatic Copilot code review」オプションを見つける
  3. ドロップダウンから「Enabled」を選択

12.1.2. 単一リポジトリ用

手順:

  1. リポジトリの「Settings」→「Rules」→「Rulesets」
  2. 「New ruleset」→「New branch ruleset」
  3. ルールセット名を入力
  4. 「Enforcement Status」で「Active」を選択
  5. 「Target branches」で対象ブランチを追加(例:デフォルトブランチ、すべてのブランチ)
  6. 「Branch rules」で「Automatically request Copilot code review」を選択
  7. オプション設定:
    • Review new pushes: すべての新しいプッシュをレビュー(オフの場合は1回のみ)
    • Review draft pull requests: ドラフトプルリクエストもレビュー
  8. 「Create」をクリック

12.1.3. 組織内の複数リポジトリ用

手順:

  1. 右上のプロファイル写真→「Organizations」
  2. 組織の「Settings」
  3. 「Repository」→「Rulesets」
  4. 「New ruleset」→「New branch ruleset」
  5. ルールセット名を入力
  6. 「Enforcement Status」で「Active」を選択
  7. 「Target repositories」で対象リポジトリをパターンで指定:
    • 「Include by pattern」または「Exclude by pattern」
    • パターン例:*feature(featureで終わるすべてのリポジトリ)
    • 複数パターンの追加可能
  8. 「Target branches」で対象ブランチを追加
  9. 「Branch rules」で「Automatically request Copilot code review」を選択
  10. オプション設定(上記と同様)
  11. 「Create」をクリック

パターンマッチングの注意点:

  • 除外パターンは包含パターンの後に適用される
  • 例:*cat*を含めてnot-a-catを除外

12.2. コードレビューの実施(VS Code)

12.2.1. 選択したコードのレビュー

hoge
手順:

  1. VS Codeでレビューしたいコードを選択
  2. 右クリック→「Generate Code」→「Review」
  3. コメントパネルとエディタ内にレビューコメントが表示される

12.2.2. 未コミット変更のレビュー

手順:

  1. VS Codeでソースコントロールボタンをクリック
  2. 「CHANGES」の上にマウスを置く
  3. 「Copilot Code Review - Uncommitted Changes」ボタンをクリック
  4. レビュー完了を待つ(通常30秒以内)
  5. コメントがファイル内とProblemsタブに表示される

12.3. 提案された変更の処理

適用:

「Apply and Go To Next」ボタンをクリック(変更は自動コミットされない)

破棄:

「Discard and Go to Next」ボタンをクリック

12.4. フィードバックの提供

コメント上にマウスを置き、👍または👎ボタンをクリックしてフィードバックを提供できます。

12.5. カスタムインストラクションによるカスタマイズ

カスタムインストラクションを追加することで、Copilotのコードレビューをカスタマイズできます。

リポジトリ全体の指示:

.github/copilot-instructions.mdファイルに記述

パス固有の指示:

.github/instructions/**/NAME.instructions.mdファイルに記述

例(.github/copilot-instructions.md):

コードレビューを実施する際は、スペイン語で応答してください。

コードレビューを実施する際は、`/security/security-checklist.md`ファイルのチェックを適用してください。

コードレビューを実施する際は、可読性に焦点を当て、ネストされた三項演算子を避けてください。

12.6. 静的解析ツールの管理

前提条件:

組織またはエンタープライズのオーナーがCopilot Code Reviewのプレビュー機能を有効化する必要があります。

12.6.1. リポジトリレベルの設定

手順:

  1. リポジトリの「Settings」→「Rules」→「Rulesets」
  2. 既存のCopilot Code Review用ルールセットを編集、または新規作成
  3. 「Rules」セクションで「Manage static analysis tools in Copilot code review」を選択
  4. 「Select tools」ドロップダウンでツールを選択/解除
  5. 「Create」または「Save changes」をクリック

12.6.2. 組織レベルの設定

手順:

  1. 組織の「Settings」→「Repository」→「Rulesets」
  2. 以降はリポジトリレベルと同様

13. Copilot CLI

Copilot CLIは、コマンドラインから直接Copilotを使用できる機能です。

13.1. 基本的な使用方法

手順:

  1. コードを含むフォルダに移動
  2. copilotコマンドを実行
  3. フォルダの信頼確認:
    • Yes, proceed: このセッションのみ
    • Yes, and remember: 将来のセッションでも記憶
    • No, exit: 終了
  4. ログインしていない場合は/loginコマンドで認証
  5. プロンプトを入力

プロンプトの例:

  • チャットの質問
  • バグ修正の依頼
  • 既存アプリケーションへの機能追加
  • 新規アプリケーションの作成

重要な注意事項:

このGitHub Copilot CLIセッション中、Copilotはこのフォルダ内およびその下のファイルの読み取り、変更、実行を試みる可能性があります。信頼できる場所のファイルである場合のみ続行してください。

13.2. ツール使用の承認

Copilotがファイルを変更または実行するツール(touchchmodnodesedなど)を使用しようとすると、承認を求められます。

選択肢:

  1. Yes: このツールの使用を許可(次回も承認が必要)
  2. Yes, and approve TOOL for the rest of the running session: 実行中のセッションでは今後承認不要(任意のオプション付き)
  3. No, and tell Copilot what to do differently (Esc): コマンドを実行せず、現在の操作を終了。別のアプローチを指示可能

セキュリティ上の注意:

オプション2を選択すると、セッション中は承認なしでツールが使用できます。これはchmodのような多くのツールで便利ですが、セキュリティへの影響を認識する必要があります。たとえば、rmコマンドでこのオプションを選択すると、Copilotは承認なしで現在のフォルダ以下の任意のファイルを削除できます。

13.3. 便利なヒント

13.3.1. 実行中の操作を停止

プロンプト入力後に停止したい場合は、Escキーを押します。

13.3.2. 特定のファイルを含める

@に続けて相対パスを指定:

Explain @config/ci/ci-required-checks.yml
Fix the bug in @src/app.js

ファイルパスを入力し始めると、マッチするパスが表示されます。矢印キーで選択し、Tabキーで補完します。

13.3.3. 別の場所のファイルを操作

ディレクトリへのアクセス承認:

タスクが現在のディレクトリ外のファイルを必要とする場合、承認を求められます。または、手動で追加:

/add-dir /path/to/directory

作業ディレクトリの切り替え:

セッションを終了せずにディレクトリを切り替え:

/cwd /path/to/directory

13.3.4. シェルコマンドの直接実行

!を前置してシェルコマンドを直接実行(モデル呼び出しなし):

!git clone https://github.com/github/copilot-cli

13.3.5. Copilot Coding Agentへのタスク委譲

/delegateコマンドで現在のセッションをCopilot Coding Agentに委譲:

/delegate APIの統合テストを完成させて、失敗するエッジケースを修正

動作:

  1. Copilotが未ステージの変更をコミット(新しいブランチにチェックポイントとして)
  2. ドラフトプルリクエストを開く
  3. バックグラウンドで変更を実施
  4. 完了後、レビューを依頼
  5. プルリクエストとエージェントセッションへのリンクが提供される

13.3.6. 対話セッションの再開

最近のセッションを再開:

copilot --continue

セッションを選択して再開:

copilot --resume

リストから再開したいセッションを選択します。

13.3.7. カスタムインストラクションの使用

リポジトリにカスタムインストラクションを追加すると、Copilotのパフォーマンスが向上します。

サポートされるファイル:

  • リポジトリ全体:.github/copilot-instructions.md
  • パス固有:.github/copilot-instructions/**/*.instructions.md
  • エージェントファイル:AGENTS.md

13.3.8. カスタムエージェントの使用

カスタムエージェントは以下の場所から読み込まれます:

タイプ 場所 スコープ
ユーザーレベル ~/.copilot/agents すべてのプロジェクト
リポジトリレベル .github/agents 現在のプロジェクト
組織/エンタープライズレベル .github-privateリポジトリの/agents 組織/エンタープライズ下のすべてのプロジェクト

優先順位:

システムレベル > リポジトリレベル > 組織レベル

使用方法:

  1. スラッシュコマンドで選択:
/agent
  1. プロンプト内で呼び出し:
リファクタリングエージェントを使ってこのコードブロックをリファクタリング

Copilotが自動的に推測します。

  1. コマンドラインオプションで指定:
copilot --agent=refactor-agent --prompt "このコードブロックをリファクタリング"

13.3.9. スキルの使用

スキルを作成して、指示、スクリプト、リソースを使った専門的なタスクの実行能力を強化できます。

13.3.10. MCPサーバーの追加

Copilot CLIにはGitHub MCPサーバーが事前設定されています。これにより、GitHub.com上のリソース(プルリクエストのマージなど)と対話できます。

追加のMCPサーバーを追加するには:

/mcp add

MCPサーバーの詳細を入力し、Tabキーでフィールド間を移動、Ctrl+Sで保存します。

設定ファイル:

MCPサーバーの詳細はmcp-config.jsonに保存されます(デフォルト:~/.copilotXDG_CONFIG_HOME環境変数で変更可能)。JSON構造については、該当ドキュメントを参照してください。

13.3.11. コンテキストと使用統計の表示

/usage

以下が表示されます:

  • 使用したプレミアムリクエスト数
  • セッション期間
  • 編集されたコード行数
  • モデルごとのトークン使用量の内訳

警告:

モデルのトークン制限の20%未満になると、警告が表示されます。制限に達すると、コンテキストが切り詰められます。

13.4. 詳細情報の確認

対話セッション内:

?

ターミナルから:

copilot help

設定:

copilot help config

設定はconfig.jsonで調整可能(デフォルト:~/.copilotXDG_CONFIG_HOME環境変数で変更可能)。

環境変数:

copilot help environment

ログレベル:

copilot help logging

権限:

copilot help permissions

13.5. フィードバックの提供

対話セッションで/feedbackコマンドを使用:

  • プライベートフィードバックサーベイ
  • バグ報告
  • 新機能の提案

14. トラブルシューティング

14.1. Issueの「Assignees」リストにCopilotがない

原因と対処:

  1. Copilotプランの確認: Copilot Pro、Pro+、Business、Enterpriseプランが必要
  2. リポジトリでの有効化確認:
    • 組織所有リポジトリ:組織/エンタープライズ管理者が管理
    • 個人リポジトリ:アカウント設定で確認

確認方法:

github.com/settings/copilot/featuresで有効化状況を確認

14.2. Enterprise Managed Userアカウントで個人リポジトリで動作しない

原因:

Copilot Coding Agentは、マネージドユーザーアカウント所有の個人リポジトリでは利用できません(GitHub-hostedランナーが利用不可)。

対処:

組織所有のリポジトリを使用してください。

14.3. Copilot ChatからPRが作成できない

確認事項:

  • VS Code、Visual Studio、JetBrains: プロンプトで@githubをメンション
  • GitHub.com: @githubは不要

対処:

Copilot Coding Agentが利用可能か確認してください。

14.4. Issueをアサインしても何も起こらない

対処:

  1. しばらく待ってページを更新
  2. Copilotが👀リアクションを追加
  3. その後、ドラフトプルリクエストが作成される
  4. Issueのタイムラインに表示される

14.5. プルリクエストを開いても何も起こらない

対処:

タイムラインに「Copilot started work」イベントがある場合、「View session」をクリックしてセッションログを確認します。ログはライブストリームされ、Copilotの動作が確認できます。

14.6. Copilotがプルリクエストのコメントに応答しない

原因:

  1. リポジトリへの書き込み権限がない
  2. Copilotがプルリクエストからアサイン解除されている

確認:

書き込み権限があり、@copilotをメンションした場合:

  1. コメントに👀リアクションが追加される
  2. タイムラインに「Copilot started work」イベントが追加される

これが起こらない場合、Copilotがアサイン解除されているか、書き込み権限がない可能性があります。

14.7. エージェントセッションログでスタックしているように見える

対処:

  1. しばらく待つ(一時的にスタックすることがある)
  2. 1時間でタイムアウト
  3. リトライ:Issueをアサイン解除してから再アサイン
  4. コメントへの応答中にスタックした場合:同じコメントを再度追加

14.8. GitHub Actionsワークフローが実行されない

原因:

Copilotがプッシュした変更に対して、ワークフローは自動実行されません。

対処:

プルリクエストのマージボックスにある「Approve and run workflows」ボタンをクリックします。

14.9. CopilotがCIチェックを通過しない変更をプッシュする

原因:

Copilotは独自の開発環境でテストやリンターを実行できますが、明確な指示が必要です。

対処:

.github/copilot-instructions.mdファイルで明確な指示を提供します。

14.10. ファイアウォールからの警告

原因:

Copilotのインターネットアクセスはデフォルトでファイアウォールによって制限されています。

表示される警告:

  • ブロックされたアドレス
  • リクエストを試みたコマンド

対処:

必要に応じてファイアウォールをカスタマイズまたは無効化してください。

14.11. 添付したスクリーンショットが認識されない

原因:

最大画像サイズは3.00 MiBです。これを超える画像は削除されます。

対処:

画像サイズを3.00 MiB以下に縮小してください。

15. まとめ

GitHub Copilot Coding Agentは、開発プロセスの自動化において大きな可能性を持つツールです。本記事で解説した内容を活用することで:

  • 多様なエントリーポイントから柔軟にタスクを依頼
  • セッションの進捗を詳細に監視
  • カスタムエージェントで特定のタスクに特化
  • MCPで外部サービスと統合
  • 開発環境を細かくカスタマイズ
  • 自動コードレビューで品質を向上
  • コマンドラインから効率的に操作

これらの機能を適切に組み合わせることで、開発効率を大きく向上させることができます。ただし、セキュリティやプライバシーへの配慮も忘れずに、チームの状況に合わせて段階的に導入していくことをお勧めします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?