Simon Willison’s Weblog

Subscribe

Evolving GitHub Issues (public preview). GitHub just shipped the largest set of changes to GitHub Issues I can remember in a few years. As an Issues power-user this is directly relevant to me.

The big new features are sub-issues, issue types and boolean operators in search.

Sub-issues look to be a more robust formalization of the existing feature where you could create a - [ ] #123 Markdown list of issues in the issue description to relate issue together and track a 3/5 progress bar. There are now explicit buttons for creating a sub-issue and managing the parent relationship of such, and clicking a sub-issue opens it in a side panel on top of the parent.

Issue types took me a moment to track down: it turns out they are an organization level feature, so they won't show up on repos that belong to a specific user.

Organizations can define issue types that will be available across all of their repos. I created a "Research" one to classify research tasks, joining the default task, bug and feature types.

Screenshot of Datasette organization settings page showing issue types configuration. Left sidebar shows navigation options including General, Policies, Access, etc. Main content shows 4 issue types: Task ("A specific piece of work"), Bug ("An unexpected problem or behavior"), Feature ("A request, idea, or new functionality"), and Research ("Research is needed"). A "Create new type" button appears in top right.

Unlike labels an issue can have just one issue type. You can then search for all issues of a specific type across an entire organization using org:datasette type:"Research" in GitHub search.

The new boolean logic in GitHub search looks like it could be really useful - it includes AND, OR and parenthesis for grouping.

(type:"Bug" AND assignee:octocat) OR (type:"Enhancement" AND assignee:hubot)

I'm not sure if these are available via the GitHub APIs yet.