GitHub Sub-issuesのすすめ
Sub-issuesを利用することで、GitHubで完結したIssue管理、特に進捗管理が容易になる。
Table of Contents
- # Sub-issuesとは
- # 従来のIssueの紐づけ
- # 従来の方法とSub-issuesの比較
- # Pros
- # Cons
- # Common points
- # Sub-issuesの始め方
Sub-issuesとは
簡単に言えば、Issueに親子関係を設定できる機能です。
Sub-issuesに設定されたIssueは親Issueのページに次のようにまとめて表示されます。
従来のIssueの紐づけ
今までも、Issueのbodyなどにissueのリンクを張り付けておくと似たような管理を行うことができました。
次のようにチェックマークと他issueへのリンクを付けておくと、そのissueが完了した際に自動的にチェックマークが入ります。
- [ ] #1
- [ ] #2
また、チェックマーク+文字列の組み合わせをIssueに変換することも出来ます。変換すると、文字列が自動的にリンクに変換されます。
従来の方法とSub-issuesの比較
Sub-issuesは、従来の方法と比較して次のようなPros/Consがあります。
Pros
- 一覧でIssueに紐づいたPRの状態を確認できる。
- 一覧でIssueのissue-typeを確認できる。
- ProjectsでIssueの消化率をプログレスバーで確認できる。
- 親子関係をネストすることができ、その状態を一覧でも確認できる。
Cons
- 親Issueのbodyが長い場合、一覧の位置が下の方になる。
- チェックマークからSub-issueに変換した場合、bodyからそのチェックマークが消える。
- Sub-issuesとしてまとめられるため問題はないが、慣れるまで戸惑うかもしれない。
Common points
- 一覧でIssueを並び替えられる。
- チェックマークから変換できる。
Sub-issuesの始め方
公式ドキュメントに記載されている通り、Sub-issueを作りたいIssueで、「Create sub-issue」を押して作成することが出来ます。
https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/adding-sub-issues
また、チェックマークで「Convert to sub-issue」を選択して変換することが出来ます。
加えて、後からIssueをsub-issuesにしたくなった場合、「Releationships」→「Add parent」で親Issueを設定することも出来ます。他リポジトリのissueでも、リンクをここに張り付けることで親子関係を設定できます。