GitHubのsub-issueとは?複雑な作業を階層で整理する新しいアプローチ

Git
この記事は約4分で読めます。
記事内に広告が含まれています。

~大規模タスクの管理をもっと柔軟に~

GitHubのissue管理において、2024年に登場した「sub-issue」機能は、タスクをより細かく、階層的に管理できるようになりました。特に大規模なプロジェクトや複雑な開発タスクを扱うチームにとって、作業の見通しを立てやすくなる便利な機能です。

従来のissueのリスト化とは異なる機能です。

  • [ ] #2
  • [ ] #3

コレとは別物です。

📝 sub-issueとは?

sub-issue は、あるIssueの下に別のIssueを「サブタスク」として関連付ける仕組みです。
単なるリンクではなく、親子関係を持つことで次のようなことが可能になります:

  • 階層構造:親Issueでsub-issueの進捗を管理でき、sub-issueの中にさらにsub-issueを入れられる
    • 例)大規模機能を分割して管理したい。
    • 例)ある機能を分割して、担当者を分けて管理したい。
  • リポジトリをまたぐ管理:別リポジトリのIssueもsub-issueとして追加可能
    • 例)異なるリポジトリの作業状況を、親Issueでまとめて見える化する
  • 親に対しての子(sub-issue)は最大100個までです。
  • 階層は最大8層までです。

参考:https://docs.github.com/ja/issues/tracking-your-work-with-issues/using-issues/adding-sub-issues


sub-issue構造を図で理解しよう

まずは従来のIssue構造です。

  • Repository内に複数のIssueを作ることが出来ます。
  • 親子関係はありません。
従来のIssue

続いて、sub-issueを導入した場合です。

  • 親子関係があります(孫も作成可能)。
  • さらに、別リポジトリのIssueも親子関係に指定できる。
親子関係の様子。
さらに別のRepositoryのIssueを子にも出来る。

親・子・孫の関係はリンクのようなものであり、実態としては個々のIssueです。


実際の作成画面や表示画面をご紹介

最初は親となるIssueを普通に作ります。

作成後の画面です。

Issue上に「Create sub-issue」のボタンがあります。
ここからsub-issueを作成、または別のIssueを指定可能です。

sub-issueを2つ作ってみます。

  • 親のIssue上に子のIssueがあることがわかります。
  • 進捗状況は「0 of 2」のように表現されます。

さらに、「子のIssueAです」の下に孫のsub-issueを2つ作ってみます。

親Issueから階層構造がわかりやすく表示されていますね。
なお、子から見た画面は次の通りで、「親(Parent)」「孫」にも簡単に辿れるようになっています。


GitHub Projectsでの見え方

普通にsub issueは表示されます。

  • 既定で取り込み&表示するかはワークフロー設定に従います。

Projectsで階層表示はできないのか?
Group byで「Parent issue」を選択すれば、2階層までの階層表示はできました!

設定。
階層表示です。

👉 階層をもっと深く追いたい場合は、親Issue画面での確認がベストです。

Projectsで複数Issueかつ多階層のガントチャートっぽく表示できればもっと最高です(feature requestします)。


まとめ

GitHubのsub-issue機能は、シンプルなIssue管理をより柔軟に、視覚的に、そしてチームコラボレーション向けに進化させたものです。

  • 最大8層の入れ子が可能
  • 他リポジトリのIssueもsub-issueにできる
  • Projects機能と連携して、進行状況の可視化にも活躍

特に「大きな課題を分割したい」「他チームのタスクも含めて全体を俯瞰したい」というニーズにマッチします。

コメント

Top
タイトルとURLをコピーしました