GitHubのSub-Issues機能(Public Preview)を試す
大阪オフィスの小倉です。
以下のブログでGitHubの新機能についてPublic Previewの案内があったので、早速Waitlistに登録してみました。
- Waitlistへの登録はGitHub Organization単位となっています
- Waitlistへの登録はこちらから可能です
複数の機能がPublic Previewの対象となっていたのですが、その中でも特に私が欲しかったSub-Issues機能について確認した内容を紹介します。
Sub-Issues機能
その名の如く、Issueに親子関係を作成することができます。
類似の機能としてTasklist
という機能(ベータ版)がありますが、現在は利用リクエストできなくなっているため、当時リクエストし損ねた私には、今回のSub-Issuesは待望の機能でした。
Sub-Issueの作成
Issue画面の「Create sub-issue」から子Issueを作成できます。
子Issueが登録された親Issueには、子Issueの進捗状況が表示されます。
子Issueの作成時に「Add existing issue」を選択すると、既存のIssueを子Issueとして紐づけることができます。
この時、別のRepositoryのIssueも子Issueとして設定できます。(別のRepositoryを選ぶ場合は「←」を選択します)
親Issueに対して最大50個の子Issueが設定可能、また階層は最大8階層まで作成できるようです。
9階層目のIssue作成はエラーとなりました。
Sub-Issueのフィルタ
Issue一覧画面でのSub-Issueに関するフィルタリングには、parent-issue
, sub-issue
のキーワードが利用できます。
以下はparent-issue
を使った検索例ですが、sub-issue
の場合も同様に検索できます。
検索例 | フィルタ式 |
---|---|
任意のIssueを親に持つIssue | parent-issue:<owner>/<repo>#<number> |
任意のIssueを親に持たないIssue | -parent-issue:<owner>/<repo>#<number> |
親Issueを持たないIssue | no:parent-issue |
GitHub Projectでの参照
GitHub Projectで親または子Issueを持つIssueをアイテムとして登録した場合に、Parent issue
, Sub-issues progress
のフィールドが用意されています。
(これが公式にずっと欲しかった・・・!)
GitHub Projectsでのフィルタ
Issue一覧画面と同様、parent-issue
のキーワードが使える他、sub-issues-progress
キーワードが利用できます。
検索例 | フィルタ式 |
---|---|
Sub-issues progressを持つ(=子Issueを持つ)Issue | has:sub-issues-progress |
Sub-issues progressを持たない(=Issueを持たない)Issue | no:sub-issues-progress |
GitHub Projects Workflows
「Auto-add sub-issues to project」のWorkflowが追加されていました。
(デフォルトの)Onにしておくと、子Issueを作成したときに自動でGitHub Projectsに追加してくれます。
まとめ
GitHub Projectでプロジェクトの進行管理をやりたい人にとっては待望の機能ではないでしょうか(少なくとも私はこれをずっと待っていました!)
まだPublic Previewという状況ではありますが、正式リリースとなることを願いつつ、この機能を利用したプロジェクト管理方法を模索して行きたいと思います。
現在はGitHub Discussionsでフィードバックを受け付けているようですので、気になる方は是非確認してみてください。