GitHubが新機能「sub-issues」を導入 タスクの階層管理が可能に

GitHubは、複雑な問題を小さいタスクに分割して管理するための「sub-issues(サブイシュー)」機能を発表しました。
サブイシューを使うと、複数のタスクを階層的に管理し、進捗状況を容易に把握できるようになります。
サブイシューとは?
GitHubでは一般的に、バグの管理や機能開発の計画で「issue(イシュー)」が使われています。
複雑なプロジェクトではタスクを細分化して管理する必要がありますが、従来のイシューではイシュー同士をリンク付けできても、階層構造の表現は困難でした。
今回導入されたサブイシューでは、タスクを階層的に管理でき、視覚的・機能的にシンプルかつ明確に管理できます。
親となるイシューに対し、子イシューの作業が完了すると、進捗情報が自動的に親イシューに反映される仕組みです。
手動で各タスクの状況を確認する手間が省け、プロジェクト全体の状況を即座に把握できます。
開発初期の段階では表示項目がイシューのタイトルのみでしたが、フィードバックを受けた結果、最終的にはイシュー番号やリポジトリー名などのメタデータも表示されるように改善したとのことです。
GitHubは「この機能を使うと、単一のイシュー内で階層リストを作成できるようになり、進捗状況と依存関係の追跡が容易になります」と述べています。
サブイシューはGitHubのすべてのユーザーが利用可能です。
サブイシューの使い方
-
親となるイシューを開くか、新規に作成します
-
親となるイシューの説明欄に表示されている[Create sub-issue]の右端の矢印をクリックします
-
[Create sub-issue]をクリックして新しいサブイシューを作成するか、[Add existing issue]をクリックして既存のイシューをサブイシューとして追加します
-
同じリポジトリーか、ほかのリポジトリーのイシューをサブイシューとして登録できます
-
サブイシューを登録すると、親イシューの説明欄の下に表示されます
実際に使ってみた感想
GitHubではこれまでも、イシューの説明欄にチェックリストを作成してイシュー番号を書くことで、複数のイシューを関連付けて管理できました。
- [ ] #123- [ ] #456
今回のサブイシューの導入により、従来のチェックリストによるタスク管理はできなくなったようです。
依然として、チェックリストで関連付けたイシューがクローズされると自動的にチェックマークが付くようになっていますが、[y / x](x
、y
は任意の自然数)のような進捗状況は表示されなくなりました。
代わりに、サブイシューを作成すると[y / x]のような進捗状況が表示されるようになります。
チェックリスト内のイシューのメニューボタンから[Convert to sub-issue]を選択すると、チェックリストをサブイシューに変換できます。
実際に使ってみたところ、従来のチェックリストによるタスク管理とサブイシューによるタスク管理に、それほど大きな違いはないように感じました。
ただし、[Create sub-issue]というボタンが設置されていたり、サブイシューが専用の枠内に表示されていたりなど、視覚的に分かりやすくなった印象があります。