GitHubバグレポートIssueフォーム(YAML)
YAML構文を使用して、重大度ドロップダウン、再現手順、環境フィールドを含む構造化されたGitHubバグレポートIssueフォームを作成します。.github/ISSUE_TEMPLATE/にそのまま配置可能。
Bug Reports
詳細な説明
GitHubバグレポートIssueフォームの構築
GitHub Issueフォームは、YAMLを使用して自由形式のMarkdown Issue本文に代わる構造化フォームを定義します。適切に設計されたバグレポートフォームは、メンテナが問題を再現し修正するために必要なすべての情報を収集します。
テンプレート構造
name: "Bug Report"
description: "バグを報告して改善にご協力ください"
title: "[Bug]: "
labels: ["bug", "triage"]
body:
- type: markdown
attributes:
value: |
バグ報告ありがとうございます!
- type: textarea
id: description
attributes:
label: "バグの説明"
description: "バグの明確で簡潔な説明。"
validations:
required: true
- type: dropdown
id: severity
attributes:
label: "重大度"
options:
- "Critical"
- "High"
- "Medium"
- "Low"
validations:
required: true
主要な設計判断
構造化フィールドvs自由テキスト:重大度や環境カテゴリにドロップダウンを使用することで、一貫したトリアージデータが保証されます。テキストエリアフィールドにより、フォームを整理しつつ詳細な説明が可能です。
必須vs任意フィールド:再現手順と説明は必須にし、スクリーンショットやログは任意にします。これにより徹底性と報告の容易さのバランスが取れます。
Markdownセクション:markdownボディ要素を使用してフォームフィールド間に指示を追加し、報告者に有用な情報を提供するよう誘導します。
ファイル配置
.github/ISSUE_TEMPLATE/bug-report.ymlとして保存します。ユーザーが「New issue」をクリックすると、GitHubが自動的にIssueテンプレート選択画面に表示します。
ユースケース
頻繁なバグレポートを受けるオープンソースプロジェクトや内部リポジトリで、問題を効率的にトリアージおよび修正するために報告者から一貫した構造化された情報を必要とするもの。