MENU

GitHub Issuesの使い方を実務で整理。タスク管理と開発メモを両立する基本手順

GitHub Issuesはこう使うと実務で回る。タスク管理と開発メモの基本手順

GitHub Issuesは、「やることの管理」と「作業中の判断メモ」を同じ場所で残せるのが強みです。バグ報告や機能追加だけでなく、調査メモ、実装方針、レビュー前の論点整理までまとめられます。

特に効くのは、コード、Pull Request、Projectsと自然につながる点です。別のToDoツールに転記しなくても、Issue番号を起点に進捗と経緯を追えます。

  • できること: タスク登録、担当割り当て、ラベル整理、期日単位の管理、PRとの連携、CLIからの操作
  • 向いている場面: 小規模開発のタスク管理、保守運用の問い合わせ整理、個人開発の作業ログ、チームの開発メモ共有
  • 対象環境: GitHub.com と GitHub CLI gh を前提に説明
  • 確認時点: 2026年4月25日時点の GitHub Docs ベース

ここがポイント: GitHub Issuesは「一覧で管理する道具」であると同時に、「後から読み返せる開発記録」でもあります。最初から長文を書くより、1件1論点で立てて関連PRと結ぶほうが運用しやすくなります。

目次

まず押さえたい前提

GitHub Issuesは、リポジトリ単位で使う作業管理の入口です。GitHub公式ドキュメントでも、アイデア、フィードバック、タスク、バグの記録に使えると案内されています。

実務では、次の役割で覚えると迷いにくくなります。

  • Issue: 1つの課題や作業単位
  • Assignee: 誰が持つか
  • Label: どういう種類の作業か
  • Milestone: いつまでにまとめるか
  • Project: 複数Issueを一覧・ボード・ロードマップで見る場所

IssuesとDiscussionsの違い

議論を広げたいなら GitHub Discussions、実際に追跡したい作業なら Issues が基本です。

たとえば「この機能は要るか」という雑談や意見募集は Discussions 向きです。一方で「APIレスポンスの仕様変更に対応する」は、担当・期限・PR連携が必要なので Issues 向きです。

GitHub Issuesの基本手順

まずは、1件のIssueをきれいに作るところから始めます。最初に凝るべきなのは見た目ではなく、あとで検索しやすい粒度です。

タイトルは「何をどうしたいか」を短く書く

悪い例は、確認 対応必要 バグ のような曖昧なタイトルです。これだと一覧で意味が分かりません。

よくある改善形は次の通りです。

  • CSVインポート時に空行があると500エラーになる
  • 請求書CSVの列名を2026年版フォーマットに更新する
  • ログイン画面の文言を英語・日本語で切り替えられるようにする

本文は「背景」「やること」「完了条件」を分ける

最小構成なら、この3点で十分です。

## 背景
取引先から受け取るCSVに空行が混ざることがあり、現行処理では例外で停止する。

## やること
- 空行を読み飛ばす
- エラーログに行番号を出す
- テストデータを追加する

## 完了条件
- 空行を含むCSVでも処理が止まらない
- 異常行があればログで追跡できる

この形にしておくと、Issueを読んだ人が「何を直すのか」「どこまで終われば閉じるのか」をすぐ判断できます。

入力例と見え方のイメージ

入力例:

## 背景
顧客一覧CSVの取り込みで、電話番号列にハイフンがないデータが混在している。

## やること
- 数字のみの電話番号も受け入れる
- 保存前に `09012345678` を `090-1234-5678` に整形する
- 変換できない値は警告ログに出す

## 完了条件
- 既存CSVと新CSVの両方を取り込める
- 変換不能な行がログで識別できる

出力イメージ:

  • 一覧では「CSV取り込みの仕様変更」という作業単位として見える
  • 本文では、原因と対応範囲が分かる
  • PR作成時に Fixes #123 を書けば、マージ後にIssueを自動で閉じられる

タスク管理として使うコツ

Issueを単なるメモ帳にすると、件数だけ増えて追えなくなります。運用で差が出るのは、ラベル、親子関係、依存関係の3つです。

ラベルは「分類」ではなく「次の判断」に効かせる

GitHubには bug documentation enhancement good first issue などの既定ラベルがあります。最初は増やしすぎず、次のように役割で切ると実務で使いやすくなります。

  • 種類: bug feature docs refactor
  • 優先度: priority:high priority:medium
  • 状態補助: needs-info blocked ready

重要なのは、ラベル名を見て次の行動が決まることです。たとえば blocked が付いていれば着手待ち、needs-info なら追加確認が必要、と一覧で判断できます。

大きい作業はsub-issuesで分解する

2026年4月時点のGitHub Docsでは、従来のtasklistは退役済みと案内されており、置き換えとしてsub-issuesが案内されています。

大きな作業を1件で抱えると、コメント欄が長くなり、誰が何をしているか見えにくくなります。そんなときは親Issueを作り、その下に子Issueを切ります。

例:

  • 親Issue: CSV取込処理を2026年仕様に対応する
  • 子Issue: 列名マッピングを更新する
  • 子Issue: 電話番号の正規化処理を追加する
  • 子Issue: サンプルCSVとテストケースを追加する

GitHub Docsでは、親Issueあたり最大100件のsub-issues、最大8階層のネストに対応すると説明されています。規模の大きい改修でも、親子で追いやすいのが利点です。

依存関係を付けると「止まっている理由」が見える

Issue dependenciesを使うと、あるIssueが別Issueにblocked by されている状態を明示できます。

たとえば次のような場面です。

  • 本番反映前の最終確認ステージング環境の修正完了 に依存している
  • 管理画面の実装API仕様確定 に依存している

単にコメントで「先にあっちです」と書くより、依存関係として持たせたほうが一覧やProject上で詰まりが見えます。

マイルストーンは「締切」より「まとまり」で考える

Milestoneは期日だけの機能ではありません。GitHub Docsでは、紐付いたIssueとPRの進捗率や件数を確認できるとされています。

実務では、次の単位で作ると使いやすいです。

  • 2026-05 請求書機能改修
  • v2.3.0 リリース準備
  • 4月障害対応

「来週やること全部」を1つのマイルストーンに押し込むより、同じ成果物に向かうIssueを束ねるほうが追跡しやすくなります。

開発メモとして使う手順

GitHub Issuesは、作業の結論だけでなく、途中の判断も残せます。ここを使えるようになると、後から「なぜこの実装にしたのか」を追えます。

調査メモはコメントで時系列に積む

本文を何度も全面修正するより、進行中の調査はコメントで追加するほうが流れが残ります。

おすすめの書き方は短く区切ることです。

調査メモ 2026-04-25
- API v1では `phone` が任意項目
- API v2では `phone_number` に名称変更
- 旧CSVとの互換レイヤーが必要

これだけでも、次に見る人が状況をつかめます。

コード行やレビューコメントからIssueを起こす

GitHub Docsでは、コメントやコードの特定行からIssueを作成できると案内されています。

これは開発メモ用途でかなり便利です。レビュー中に見つけた改善点を、その場でPRコメントのまま埋もれさせずIssue化できます。

向いている場面:

  • 今回のPRでは直さないが、次回必ず対応したい
  • 修正より先に調査が必要
  • 実装者以外にも見える場所に残したい

PRと結び、閉じるタイミングを自動化する

Issueを作っただけで終わると、運用はすぐ崩れます。PR本文でIssueを参照し、マージ時に閉じる流れまで決めておくと管理が安定します。

たとえばPR本文に次のように書きます。

Fixes #123

GitHub公式ドキュメントでは、既定ブランチにマージされたとき、こうしたキーワードでリンクされたIssueを自動クローズできると説明されています。

まず実務で回しやすい運用例

ここでは、個人開発でも小さなチームでも使いやすい最小運用を示します。

1. 1Issue 1論点にする

1件のIssueに「バグ修正」「仕様確認」「ドキュメント更新」をまとめないことです。

混ぜると次の問題が出ます。

  • 担当者を1人に決めにくい
  • クローズ条件が曖昧になる
  • PRとの対応関係が崩れる

2. 本文テンプレートを置く

Issue template や issue forms を使うと、報告内容のばらつきを減らせます。GitHub Docsでは、.github/ISSUE_TEMPLATE 配下にテンプレートやフォーム定義を置けると説明されています。

最小のMarkdownテンプレート例:

## 背景

## やること

## 完了条件

## 補足

issue forms の最小例:

name: Bug report
message: バグ報告はこちら
labels:
  - bug
body:
  - type: input
    id: summary
    attributes:
      label: 概要
      placeholder: 何が起きたかを短く書く
    validations:
      required: true
  - type: textarea
    id: steps
    attributes:
      label: 再現手順
    validations:
      required: true

2026年4月時点のGitHub Docsでは、issue formsはpublic previewと案内されています。GitHub Enterprise Serverなど環境差がある場合は、利用前に対象環境のドキュメント確認が必要です。

3. Projectsには重要なIssueだけ載せる

GitHub Projectsは強力ですが、最初から全件を細かく管理すると逆に重くなります。

まずは次のどれかに当てはまるIssueだけ載せると運用しやすくなります。

  • 複数人が関わる
  • 締切がある
  • 依存関係がある
  • 親子Issueで進捗を見たい

sub-issuesを使っている場合、Projectsでは Parent issueSub-issue progress フィールドも使えます。大きい作業の進み具合を一覧で把握しやすくなります。

CLIで使うと入力が速い

ブラウザだけでも十分使えますが、日常運用では GitHub CLI gh があると楽です。ターミナル中心の人は、画面遷移なしでIssueを追加できます。

作成

gh issue create \
  --title "請求書CSVの列名を2026年版に更新する" \
  --body "## 背景
外部システムの仕様変更により列名が変わった。

## やること
- 列名マッピングを更新
- テスト追加

## 完了条件
- 新旧CSVを取り込める" \
  --label "enhancement" \
  --assignee @me

一覧確認

gh issue list --state open --assignee @me

検索条件付きで見る

gh issue list --search "label:bug sort:created-asc"

GitHub CLIの公式マニュアルでは、gh issue list--assignee --label --milestone --search などのオプションがあり、JSON出力にも対応しています。定例確認や簡単な自動化に向いています。

よくある失敗と対処

運用が続かない原因は、機能不足よりも書き方の揺れにあることが多いです。

タイトルが曖昧

NG例:

  • 確認する
  • 修正
  • メモ

改善:

  • ログイン失敗時にエラーメッセージが表示されない
  • 4月請求書CSVのヘッダー変更に対応する

Issueが大きすぎる

1週間以上触る作業を1件にまとめると、途中経過が埋もれます。

改善:

  • 親Issueを作る
  • 実装、調査、テストをsub-issuesに分ける
  • ブロッカーはdependenciesでつなぐ

コメントに結論が残っていない

議論だけ進んで、最終的に何を採用したのか分からなくなるケースです。

改善:

  • 重要な判断が出たら本文に反映する
  • もしくは「結論メモ」コメントを最後に1件残す

ラベルを増やしすぎる

ラベルが50個以上あるのに誰も定義を覚えていない、という状態はよくあります。

改善:

  • まずは種類、優先度、状態の3系統に絞る
  • 似た意味のラベルを統合する

関連機能との使い分け

GitHubには似た役割の機能もあります。全部をIssuesに詰め込む必要はありません。

Issuesが向く場面

  • 実装や修正の単位として追跡したい
  • PRと結びたい
  • 担当、分類、依存関係を持たせたい

Projectsが向く場面

  • 複数Issueを一覧、ボード、ロードマップで見たい
  • 優先度や期日などの追加フィールドで整理したい

Discussionsが向く場面

  • 作業化する前に意見を集めたい
  • 質問、アイデア、相談を広く扱いたい

メモアプリのほうが向く場面

  • コードやPRと結び付けなくてよい個人メモ
  • 公開リポジトリに残したくない雑多な下書き

最初に決めておくとラクな運用ルール

最後に、GitHub Issuesを実務で回すための最小ルールをまとめます。

  • 1Issue 1論点にする
  • 本文は「背景」「やること」「完了条件」で書く
  • ラベルは少数精鋭にする
  • 大きい作業はsub-issuesへ分解する
  • PR本文で Fixes #番号 を使う
  • 調査の途中経過はコメントで時系列に残す

この6点だけでも、Issueは単なるメモ置き場から、進捗と判断の両方を残せる開発基盤に変わります。次に見るべきなのは、チームでテンプレートを揃えるか、Projectsまで広げるかです。そこを決めると、Issue運用はかなり安定します。

参照リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次