GitHub

Issue の使い方

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

Issue の使い方 eyecatch

Issue とは

Issue は GitHub 上のタスク管理ツールです。

バグ報告、機能リクエスト、質問、議論など、プロジェクトに関するあらゆる「やること」を追跡できます。

ラベル、アサイン、マイルストーンなどで整理し、PR(プルリク) と紐付けて自動クローズすることもできます。

Issue の作成と書き方

よい Issue に書くべき項目を押さえておくとトリアージが楽になります。

  • タイトル

    何が起きたか / 何を実現したいかを一文で伝えます。

  • 再現手順(バグの場合)

    箇条書きで 1, 2, 3... と手順を書き、再現率も添えます。

  • 期待する動作 / 実際の動作

    何を期待していたか、代わりに何が起きたかをそれぞれ明示します。

  • 環境情報

    OS、ブラウザ、アプリバージョンなど、切り分けに必要な情報を書きます。

リポジトリに Issue テンプレートを設定しておくと、報告者が必要な情報を漏れなく記入できます。

gh issue create でターミナルから作成することも可能です。

bash
# 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 の連携

  1. ブランチ名に Issue 番号を含める

    feature/42-add-dark-mode のように番号を入れておくと、どの Issue のための作業か一目でわかります。

  2. コミットメッセージや PR 本文に Closes #番号 を書く

    Closes #42Fixes #42 と書くと、PR がマージされた時点で Issue が自動的にクローズされます。

  3. PR 作成時にリンクを確認

    PR のサイドバーやプレビューでリンクされた Issue が表示されているか確認します。リンクが貼られていればトレーサビリティが確保されます。

詳しい作成手順は PR(プルリク)の使い方 を参照してください。

bash
# 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 するか判断します。

bash
# 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"

関連コマンド