はじめに
こんにちは。グロースエクスパートナーズ株式会社の廣田です。
この記事はグロースエクスパートナーズAdvent Calendar 2025の4日目の記事です。
自分のチームでGitHub Copilotの活用が進まない理由として、以下が強くあるのではないかと思いました。
「従来の開発プロセスから変更できない」
「AI使って品質に影響出るのが怖い」
「GitHub Copilotは気になるけどそもそも使い方がよく分からない...」
本記事では、そんな課題を抱える現場でも安心して導入できるGitHub Copilot活用法を模索している内容の共有をします。
キーとなるのは 「人間が最終確認する仕組み」 と 「従来プロセスとの融合」 だと考えています。
この記事の対象読者
- プロジェクト管理にJiraを使っている方: Atlassian製品であるJiraの活用を前提としています
- 若手〜中堅エンジニア: GitHub Copilotに興味があるが、導入方法が分からない方
- 品質重視の現場で働く方: AI活用に慎重で、品質への影響が気になる方
- スモールスタートを希望する方: 小規模な導入から始めたいが、具体的な手順が分からない方
従来の開発プロセス
-
設計書の確認
- 実装者がExcelで作成された設計書を確認
- 要件定義、画面設計、API仕様などを理解
-
実装作業
- 設計書に基づいてコードを実装
- 単体テストの作成
- 動作確認
-
プルリクエストの作成
- 実装内容をまとめてプルリクエストを作成
- テンプレートに沿った説明文を記載
- レビュー依頼
-
プルリクエストレビュー
- チームメンバーによるコードレビュー
- 指摘事項の修正
- 承認後にマージ
従来プロセスの課題
このプロセスには以下の課題がありました:
- 整合性チェックが手動: 設計書とコードの不一致が発生しやすい
- 品質のばらつき: 実装が個人のスキルに依存
- PR説明文の作成負担: 記載に時間がかかり、品質も安定しない
解決策:GitHub custom agentsによるAI活用
これらの課題を解決するために、私はGitHub custom agentsを活用したアプローチを模索しています。
GitHub custom agentsとは
GitHub custom agentsは、チームのワークフローやコーディング規約に合わせて調整可能な特化型のGitHub Copilotエージェントです。チーム固有のルールや期待される成果を組み込むことで、効率的な支援が可能になります。
GitHub custom agentsは、プロンプト、ツール、MCPサーバーを指定する「エージェントプロファイル」と呼ばれるMarkdownファイルで定義されます。これにより個人やチームは、自身の規約、フレームワーク、期待される成果をCopilotに直接組み込むことが可能です。
実装したJira連携エージェントの概要
エージェントの役割
エージェントの主な役割は以下の通りです:
- Jiraチケットの要件取得: チケット情報を自動取得し、要件を整理
- 実装支援: 要件に基づいたコードやテストの提案
- セルフレビュー: コードの品質や要件整合性をチェック
- PR内容生成: レビュー結果を基にPR説明文を作成
なぜこのアプローチが慎重なプロセスが求められる現場に適しているか
人間が最終確認する仕組み
- エージェントは「作業」を行い、人間が「判断」する
- 全ての変更内容は開発者が確認・承認
- 従来のコードレビュープロセスがそのまま活用可能
段階的な導入が可能
- 特定のタスクに限定した活用から開始
- チームの習熟度に合わせて活用範囲を拡大
- ツール(Jira)との連携で違和感なく導入
品質保証の透明性
- セルフレビュープロセスが明示的に組み込まれている
- チェック項目が明文化されている
- レビューポイントが可視化される
実装手順
Step 1: エージェント設定ファイルの作成
プロジェクトの .github/agents/ ディレクトリに、以下のような設定ファイルを作成します。
例: .github/agents/jira-agent.agent.md
---
name: jira-agent
description: 'Jiraチケットを取得し、実装後にレビューしてプルリクエストに記載する文言を作成するエージェント'
model: Claude Sonnet 4
tools: ['runCommands', 'edit', 'search', 'atlassian/getJiraIssue', 'atlassian/search', 'usages', 'githubRepo']
---
あなたはJiraチケットの要件を取得し、実装を行い、レビュー後にプルリクエストのテンプレートに沿った内容を出力する専門エージェントです。
注記: モデル名は使用環境・組織標準に合わせて正確に記載してください。
## 実行フロー
### 1. Jiraチケット取得
- ユーザーから「[JIRA-番号]を実装して」と指示を受ける
- Atlassianツールを使用してチケット情報を取得
- 以下の情報を抽出:
* チケットタイトル
* 詳細な要件
* 受け入れ条件
* 優先度
* 関連するコンポーネント
### 2. 実装作業支援
- 要件に基づいたコード実装をサポート
- 必要に応じてテストコードも提案
- コミット前に変更内容を確認
### 3. セルフレビュー実施
以下の観点で実装内容をレビュー:
#### 要件との整合性
- Jiraの要件が正しく実装されているか
- 受け入れ条件をすべて満たしているか
- 仕様からの逸脱がないか
#### コードの可読性と保守性
- 命名規則が適切か
- コメントが必要な箇所に記載されているか
- DRY原則が守られているか
- 複雑な処理が適切に分割されているか
#### エラーハンドリング
- 適切な例外処理が実装されているか
- エラーメッセージが分かりやすいか
- エッジケースが考慮されているか
#### セキュリティ上の懸念
- 入力値のバリデーションが適切か
- 認証・認可が必要な処理で実装されているか
- 機密情報のログ出力がないか
#### パフォーマンスへの影響
- 不要なループや処理がないか
- データベースクエリが最適化されているか
- メモリリークの可能性がないか
#### テストカバレッジ
- 単体テストが実装されているか
- テストケースが十分か
- 正常系・異常系の両方をカバーしているか
### 4. プルリクエスト内容出力
セルフレビュー完了後、プルリクエストテンプレートに沿って内容を出力
## 使用方法
1. エージェントを呼び出す: `[JIRA番号]を実装して`
2. エージェントがJiraから要件を取得
3. 実装を進める(エージェントが実装支援)
4. セルフレビューを自動実行
5. プルリクエスト用の内容が出力される
Step 2: Atlassian連携について
注意: CopilotエージェントによるAtlassian連携は、組織レベルの設定やMCPサーバーの構成が必要な場合があります。まずは読み取り権限から開始し、認証情報は環境変数やシークレット管理(例: GitHub Secrets)で扱ってください。プロキシやネットワーク制限がある環境では、npmのプロキシ設定が必要になる場合があります。
基本的な連携方法:
- 組織の管理者にAtlassian連携の可否を確認
- MCP(Model Context Protocol)サーバーの設定
プロジェクトの .vscode ディレクトリに、以下のような設定ファイルを作成します。
例: .vscode/mcp.json
{
"servers": {
"atlassian": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.atlassian.com/v1/sse"]
}
}
}
Step 3: プルリクエストテンプレートの準備
.github/PULL_REQUEST_TEMPLATE.md を作成し、エージェントが出力する内容の形式を定義します。
## 概要
<!-- Jiraチケットの概要 -->
## 変更内容
<!-- 実装した機能や修正内容 -->
## セルフレビューチェック
<!-- エージェントによるレビュー結果 -->
### 要件との整合性
- [ ] Jiraの要件を満たしている
- [ ] 受け入れ条件を満たしている
- [ ] 仕様逸脱がない
### コード品質
- [ ] 命名規則が適切
- [ ] 適切なコメント
- [ ] DRY原則
- [ ] 処理の適切な分割
### セキュリティ・パフォーマンス
- [ ] エラーハンドリング
- [ ] セキュリティ考慮
- [ ] パフォーマンス最適化
### テスト
- [ ] 単体テスト実装
- [ ] テストカバレッジ十分
- [ ] 正常系・異常系カバー
## 関連するJiraチケット
<!-- JIRA-XXX -->
実際の使用例
使用方法
- Visual Studio Codeまたは対応するIDEを開く
- GitHub Copilot Chatでエージェントを呼び出し: 作成したagentを選択し、
PROJ-123を実装してと依頼
- エージェントがJiraから要件を取得し、実装を開始
- セルフレビューの結果を確認
- 生成されたプルリクエスト内容をコピーして活用
エージェントとの対話例
ユーザー: PROJ-123を実装して
エージェント:
Jiraチケット「PROJ-123」の詳細を取得し、実装を開始いたします。
取得したJiraチケット「PROJ-123」の分析結果:
チケット要件まとめ
タイトル
ログイン認証機能のバリデーション強化とセキュリティ改善
詳細要件
1.入力値バリデーション強化
・メールアドレス検証の厳密化(RFC5322準拠)
・パスワード強度チェック追加(最低8文字、英数字記号組み合わせ)
受け入れ条件
・メールアドレス形式の厳密バリデーション実装
・パスワード強度チェック機能追加
現在のプロジェクト構造を確認して、実装すべきファイルを特定します。
プロジェクト内のファイルを検索して、関連するログイン機能のファイルを特定します。
・・・
運用上のポイント
- Jiraチケットの品質向上: 明確な要件や受け入れ条件を記載
- チーム内ルールの策定: エージェント活用範囲や最終確認基準を明確化
- 段階的な導入: 小規模なタスクから始め、徐々に拡大
現状と今後の展望
検証を経て
まだチーム全体での導入には至っていませんが、個人や小規模なタスクで試してみたところ、いくつかの気づきがありました。
これまでの開発では、ロジックをどう実装するか、構文はどうだったかという本質以外の作業に多くの時間を費やしていました。しかし、エージェントを活用することで、そういった作業がほとんどなくなりました。
どのような要件か、どうあるべきかについて考える時間が増え、Jiraチケットを活用することでの自分自身の思考の整理にもつながっています。
このように、AIを活用することで開発体験が変わりつつあるのを実感しています。
しかしその反面、活用の難しいケースがあるという課題も見えてきました。
小さな修正であれば問題なく使用できていますが、UIへの修正がある場合であったり、大規模な改修が必要な場合では、Jiraチケットに複雑な要件を記載する必要があり、まだまだ課題は山積みです。
今後の展開
-
Jiraへの記載の自動化
エージェントの効果を最大化するため、Jiraチケットの記載内容を自動生成する仕組みの実現 -
カスタムエージェントの開発
プロジェクト特有の要件やルールに対応するためのさらなるカスタマイズ -
効果測定
エージェント導入後の効果を定量的に測定するため、バグ件数、工数等のデータを収集 -
チーム内外への知見共有
導入の成功事例や課題をチーム内外で共有し、組織全体での活用を推進
注意事項
- 本記事は、紹介している手法導入後の効果を担保するものではありません
- custom agents の利用可否は組織の GitHub 設定に依存します
- Atlassian 連携には適切な認証設定が必要です
- プロキシ環境下では追加の設定が必要な場合があります
- 本記事の内容は 2025年12月時点の情報に基づいています
まとめ
GitHub custom agentsによるJira連携アプローチは、従来のプロセスを活かしたまま、AI活用できる実践的な手法です。重要なポイントは以下の3点です:
- 人間が最終判断する設計: AIは支援に徹し、責任は人間が持つ
- 従来プロセスとの融合: 急激な変化ではなく、自然な拡張
- 透明性の確保: レビュープロセスを明示化し、品質を可視化
GitHub Copilotの活用へ踏み切れずにいる方は、ぜひこのような段階的なアプローチから始めてみてください。小さな一歩が、チーム全体のAI活用文化を育む大きな変化につながるはずです。