Issue の使い方
バグ報告・機能リクエスト・タスク管理に使える Issue の活用法

Issue とは
Issue は GitHub 上のタスク管理ツールです。
バグ報告、機能リクエスト、質問、議論など、プロジェクトに関するあらゆる「やること」を追跡できます。
ラベル、アサイン、マイルストーンなどで整理し、PR(プルリク) と紐付けて自動クローズすることもできます。
Issue の作成と書き方
よい Issue に書くべき項目を押さえておくとトリアージが楽になります。
タイトル
何が起きたか / 何を実現したいかを一文で伝えます。
再現手順(バグの場合)
箇条書きで 1, 2, 3... と手順を書き、再現率も添えます。
期待する動作 / 実際の動作
何を期待していたか、代わりに何が起きたかをそれぞれ明示します。
環境情報
OS、ブラウザ、アプリバージョンなど、切り分けに必要な情報を書きます。
リポジトリに Issue テンプレートを設定しておくと、報告者が必要な情報を漏れなく記入できます。
gh issue create でターミナルから作成することも可能です。
# gh CLI で Issue を作成
gh issue create --title "ログインページでエラーが発生" --body "## 再現手順\n1. /login にアクセス\n2. メールアドレスを入力\n3. 送信ボタンをクリック\n\n## 期待する動作\nダッシュボードにリダイレクト\n\n## 実際の動作\n500 エラー"
# ラベル付きで作成
gh issue create --title "ダークモード対応" --label "enhancement"Issue と PR の連携
ブランチ名に Issue 番号を含める
feature/42-add-dark-modeのように番号を入れておくと、どの Issue のための作業か一目でわかります。コミットメッセージや PR 本文に
Closes #番号を書くCloses #42やFixes #42と書くと、PR がマージされた時点で Issue が自動的にクローズされます。PR 作成時にリンクを確認
PR のサイドバーやプレビューでリンクされた Issue が表示されているか確認します。リンクが貼られていればトレーサビリティが確保されます。
詳しい作成手順は PR(プルリク)の使い方 を参照してください。
# Issue 番号をブランチ名に含める
git switch -c feature/42-add-dark-mode
# コミットメッセージで Issue を参照
git commit -m "feat: ダークモード対応 (closes #42)"
# PR 作成時に Issue をリンク
gh pr create --title "ダークモード対応" --body "Closes #42"Issue の管理テクニック
ラベルで分類
bug / enhancement / documentation などラベルで Issue を整理すると、一覧画面でのフィルタリングが楽になります。
マイルストーンでリリース単位にまとめる
「v1.2.0 リリース」などのマイルストーンに Issue を紐付け、進捗を可視化します。
Projects ボードでカンバン管理
To do / In progress / Done などのカラムで Issue をドラッグ管理できます。
定期的なトリアージ
優先度付けと担当割り当てを定期的に行い、古い Issue は close するか判断します。
# Issue の一覧を確認
gh issue list
gh issue list --label bug
gh issue list --assignee @me
# Issue をクローズ
gh issue close 42
# Issue にコメント
gh issue comment 42 --body "修正 PR を作成しました: #50"