GitHub の Issue Type と Labels はどちらも Issue を分類するための機能と思っていたので、どのように使い分けようか考えをまとめてみました。
Issue Type と Labels の違い
項目 | Issue Type | Labels |
目的 | Issue の種類(カテゴリ)を明確にする | Issue の詳細な状態や属性を追加する |
種類 | Bug, Feature, Task | bug, documentation, priority: high, status: in progress, frontend など自由にカスタマイズ可能 |
設定方法 | 管理権限のあるユーザで Organization のトップページへ行って、「Settings」>左側の「Planning」タブ>「Issue types」から設定可能 | 各リポジトリの Labels で自由に追加・管理 |
適用範囲 | 1 つの Issue に 1 つのみ 適用される | 1 つの Issue に 複数のラベル を付けられる |
自動化 | GitHub Projects で Issue Types に応じたフィルタリングが可能 | GitHub Actions などでラベルを自動追加・変更可能 |
使用例 | 「この Issue は Bug です」と明示する | 「Bug かつ high priority かつ backend の Issue」など詳細な分類ができる |
具体的な使い分け
Issue Types
- Issue の「種類」を定義する
- 1 つの Issue に対して 1 つだけ適用
例
- ✅ Bug → 「バグの報告」
- ✅ Feature → 「新機能の提案」
- ✅ Task → 「ドキュメント作成やリファクタリング」
Labels
- Issue の詳細な「属性」や「進捗状況」を追加する
- 1 つの Issue に複数適用可能
例
- ✅ priority: high → 「緊急対応が必要」
- ✅ status: in progress → 「作業中」
- ✅ frontend → 「フロントエンドの Issue」
Type を使ってみる
issue の作成時に、その issue に割り当てる Type を選択できます。
選択できるのは1つだけで、デフォルトの選択肢は「Bug」「Feature」「Task」の3つでした。