はじめに
GitHubのIssueテンプレートを活用することで、バグ報告や機能要望を効率的に管理できます。この記事では、実際のテンプレート設定を例に、効果的な課題管理の方法を解説します。
1. 基本設定(config.yml)
.github/ISSUE_TEMPLATE/config.yml
blank_issues_enabled: false
contact_links:
- name: 質問・相談
url: https://github.com/habitat-hub/board-game-prototype/discussions
about: バグ報告や機能リクエスト以外の質問・相談はDiscussionsをご利用ください。
# Issue作成時のテンプレート設定
defaults:
- template: "bug_report.yml"
name: "🐛 バグ報告"
about: "バグを報告する"
- template: "feature_request.yml"
name: "💡 機能リクエスト"
about: "新機能のアイデアを提案する"
この設定により:
- 空のIssue作成を防止
- 質問・相談はDiscussionsへ誘導
- 2種類のテンプレートを提供
2. バグ報告テンプレート(bug_report.yml)
.github/ISSUE_TEMPLATE/bug_report.yml
name: 🐛 バグ報告
description: バグを報告する
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
バグ報告ありがとうございます。以下の情報を記入してください。
- type: textarea
id: description
attributes:
label: バグの説明
description: バグの内容を詳しく説明してください
placeholder: できるだけ具体的に記述してください
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: 再現手順
description: バグを再現するための手順を記述してください
placeholder: |
1. '...' に移動
2. '....' をクリック
3. '....' までスクロール
4. エラーが発生
validations:
required: true
- type: textarea
id: expected
attributes:
label: 期待する動作
description: 本来期待される動作を記述してください
validations:
required: true
- type: dropdown
id: browsers
attributes:
label: 発生したブラウザ
multiple: true
options:
- Chrome
- Firefox
- Safari
- Edge
- その他
3. 機能リクエストテンプレート(feature_request.yml)
.github/ISSUE_TEMPLATE/feature_request.yml
name: 💡 機能リクエスト
description: 新機能のアイデアを提案する
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
機能の提案ありがとうございます。以下の情報を記入してください。
- type: textarea
id: problem
attributes:
label: 関連する問題
description: この機能リクエストに関連する問題を説明してください
placeholder: 例)〜の操作が面倒です
validations:
required: true
- type: textarea
id: solution
attributes:
label: 提案する解決策
description: 考えられる解決策を説明してください
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: 代替案
description: 検討した他の解決策があれば記述してください
validations:
required: false
- type: textarea
id: additional
attributes:
label: その他の情報
description: スクリーンショットや参考資料などがあれば追加してください
validations:
required: false
テンプレートの特徴と活用ポイント
バグ報告テンプレート
-
詳細な情報収集
- バグの具体的な説明
- 再現手順の明確化
- 期待する動作の明示
- 環境情報の収集
-
自動ラベル付与
-
labels: ["bug"]
で自動的にバグラベルを付与
-
機能リクエストテンプレート
-
構造化された提案
- 現状の問題点
- 具体的な解決策
- 代替案の検討
- 補足資料の添付
-
自動ラベル付与
-
labels: ["enhancement"]
で機能追加ラベルを付与
-
導入効果
-
情報の標準化
- 必要な情報を漏れなく収集
- フォーマットの統一による可読性向上
-
効率的なトリアージ
- 自動ラベル付与による分類
- 優先度判断に必要な情報の確実な取得
-
コミュニケーションの円滑化
- 追加情報の問い合わせ減少
- 解決までの時間短縮
まとめ
適切に設定されたIssueテンプレートは、プロジェクトの課題管理を大きく改善します。バグ報告と機能リクエストの2つのテンプレートを使い分けることで、より効率的な課題管理が実現できます。