GitHub issues have historically provided a simple yet powerful way to track work in your GitHub repositories. Each issue includes a description, assignee(s), and a timeline with a comment thread and automatically-generated references to related issues and PRs. Issues can be categorized using labels, and the issues list can be searched or filtered in many ways.
As projects get larger and more complex, working with issues also has its challenges.
GitHub has incrementally tried to address some of these challenges.
Task lists add convenient checkboxes to markdown lists in issue descriptions.
Milestones provide a simple way to collect and prioritize issues within a repo.
Projects started as single-repo kanban boards, with issues or notes moving vertically or sideways. They later acquired cross-repo and limited automation capabilities.
Issue templates help contributors to include specific information in an issue.
With their Issues announcement in June, GitHub signalled a less-incremental approach.
The announcement included two parts
More announcements have followed, and last week the Beta opened up to all users.
Project tables are spreadsheet-like views where each row is a real or draft issue.
Rows (issues) can be grouped by field value. This includes custom fields whose values are maintained in the project instead of on issues in a repo. Maintaining custom field data inside projects is key to their power.
Rather than polluting your issues with all possible categories of tags, new categories can be scoped inside a project.
Since Beta Projects also support kanban views, I expect them to replace the existing Projects once they reach feature parity.
Auto-creating issues from task lists makes it easier to break down "epic" issues into smaller sub-issues. The task list item is checked off when the issue is resolved, and the child-issue links to the parent-issue with the task list.
Similarly, draft issues which are simply rows entered as text in a project table, can also be converted into issues.
This makes task lists and project tables two convenient ways to brainstorm ideas, and break them down into smaller issues.
The GitHub public roadmap features a planning view specific to issues.
A number of informative talks at the recent GitHub Universe 2021 also provided hints about what the team is planning.
Remember that the new projects and issues features are still in Beta.
To leave a comment
please visit dev.to/jldec
{ "path": "/blog/first-impressions-of-the-new-github-projects-beta", "attrs": { "title": "First impressions of the new GitHub Projects Beta", "splash": { "image": "/images/red-autumn-leaves.jpg" }, "date": "2021-10-31", "layout": "BlogPostLayout", "excerpt": "Project tables are spreadsheet-like views where each row is a real or a draft issue. Beta Projects also support kanban views. Task lists and draft issues can be converted into real issues.\n" }, "md": "# First impressions of the new GitHub Projects Beta\n\nGitHub issues have historically provided a simple yet powerful way to track work in your GitHub repositories. Each issue includes a description, assignee(s), and a timeline with a comment thread and automatically-generated references to related issues and PRs. Issues can be categorized using labels, and the issues list can be searched or filtered in many ways.\n\nAs projects get larger and more complex, working with issues also has its challenges.\n\n### Issues with GitHub issues\n- How to turn large \"Epic\" issues into smaller issues?\n- How to prioritize and organize issues into iterations?\n- How to track issues across multiple repositories?\n- How best to incorporate community contributions and other feedback?\n\nGitHub has incrementally tried to address some of these challenges. \n\n- [Task lists](https://docs.github.com/en/issues/tracking-your-work-with-issues/about-task-lists) add convenient checkboxes to markdown lists in issue descriptions.\n\n- [Milestones](https://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/about-milestones) provide a simple way to collect and prioritize issues within a repo. \n\n- [Projects](https://docs.github.com/en/issues/organizing-your-work-with-project-boards/managing-project-boards) started as single-repo kanban boards, with issues or notes moving vertically or sideways. They later acquired cross-repo and limited automation capabilities.\n\n- [Issue templates](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates) help contributors to include specific information in an issue.\n\n## The new GitHub Issues (Beta)\n\n> With their Issues announcement in June, GitHub signalled a less-incremental approach.\n\nThe [announcement](https://github.blog/changelog/2021-06-23-whats-new-with-github-issues/) included two parts\n\n1. A powerful new way to [create](https://docs.github.com/en/issues/trying-out-the-new-projects-experience/creating-a-project) and [group issues](https://docs.github.com/en/issues/trying-out-the-new-projects-experience/customizing-your-project-views) into projects.\n2. Ways to grow from ideas expressed as text, into collections of issues.\n\n[More announcements](https://github.blog/changelog/label/issues/) have followed, and last week the [Beta opened up](https://github.blog/changelog/2021-10-27-the-new-github-issues-public-beta/) to all users.\n\n## Beta Projects\n\n[Project tables](https://docs.github.com/en/issues/trying-out-the-new-projects-experience/about-projects) are spreadsheet-like views where each row is a real or draft issue. \n\n[![Screenshot of GitHub project table](/images/gh-project-table.png)](https://github.com/orgs/github/projects/4247/views/7)\n\nRows (issues) can be grouped by field value. This includes custom fields whose values are maintained in the project instead of on issues in a repo. Maintaining custom field data inside projects is key to their power.\n\n> Rather than polluting your issues with all possible categories of tags, new categories can be scoped inside a project.\n\nSince Beta Projects also support kanban views, I expect them to replace the existing Projects once they reach feature parity.\n\n## From text to issues\n\nAuto-creating issues from [task lists](https://docs.github.com/en/issues/tracking-your-work-with-issues/about-task-lists#about-issue-task-lists) makes it easier to break down \"epic\" issues into smaller sub-issues. The task list item is checked off when the issue is resolved, and the child-issue links to the parent-issue with the task list. \n\n[![Screenshot of GitHub issue with a task list](/images/gh-task-list.png)](https://github.com/gitpod-io/gitpod/issues/3065)\n\nSimilarly, [draft issues](https://docs.github.com/en/issues/trying-out-the-new-projects-experience/creating-a-project#adding-items-to-your-project) which are simply rows entered as text in a project table, can also be [converted](https://docs.github.com/en/issues/trying-out-the-new-projects-experience/creating-a-project#converting-draft-issues-to-issues) into issues. \n\n[![Screenshot of converting draft issue to issue in GitHub project table](/images/gh-project-table-convert-to-issue.png)](https://github.com/orgs/github/projects/4247/views/7)\n\n> This makes task lists and project tables two convenient ways to brainstorm ideas, and break them down into smaller issues.\n\n## What's next\n\nThe GitHub public roadmap features a [planning view](https://github.com/orgs/github/projects/4247/views/7) specific to issues. \n\nA number of informative talks at the recent [GitHub Universe 2021](https://www.githubuniverse.com/2021/) also provided hints about what the team is planning.\n\n> Remember that the new projects and issues features are still in Beta.\n\n\n\n_To leave a comment \nplease visit [dev.to/jldec](https://dev.to/jldec/first-impressions-of-the-new-github-projects-beta-nca)_\n\n", "html": "<h1>First impressions of the new GitHub Projects Beta</h1>\n<p>GitHub issues have historically provided a simple yet powerful way to track work in your GitHub repositories. Each issue includes a description, assignee(s), and a timeline with a comment thread and automatically-generated references to related issues and PRs. Issues can be categorized using labels, and the issues list can be searched or filtered in many ways.</p>\n<p>As projects get larger and more complex, working with issues also has its challenges.</p>\n<h3>Issues with GitHub issues</h3>\n<ul>\n<li>How to turn large "Epic" issues into smaller issues?</li>\n<li>How to prioritize and organize issues into iterations?</li>\n<li>How to track issues across multiple repositories?</li>\n<li>How best to incorporate community contributions and other feedback?</li>\n</ul>\n<p>GitHub has incrementally tried to address some of these challenges.</p>\n<ul>\n<li>\n<p><a href=\"https://docs.github.com/en/issues/tracking-your-work-with-issues/about-task-lists\">Task lists</a> add convenient checkboxes to markdown lists in issue descriptions.</p>\n</li>\n<li>\n<p><a href=\"https://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/about-milestones\">Milestones</a> provide a simple way to collect and prioritize issues within a repo.</p>\n</li>\n<li>\n<p><a href=\"https://docs.github.com/en/issues/organizing-your-work-with-project-boards/managing-project-boards\">Projects</a> started as single-repo kanban boards, with issues or notes moving vertically or sideways. They later acquired cross-repo and limited automation capabilities.</p>\n</li>\n<li>\n<p><a href=\"https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates\">Issue templates</a> help contributors to include specific information in an issue.</p>\n</li>\n</ul>\n<h2>The new GitHub Issues (Beta)</h2>\n<blockquote>\n<p>With their Issues announcement in June, GitHub signalled a less-incremental approach.</p>\n</blockquote>\n<p>The <a href=\"https://github.blog/changelog/2021-06-23-whats-new-with-github-issues/\">announcement</a> included two parts</p>\n<ol>\n<li>A powerful new way to <a href=\"https://docs.github.com/en/issues/trying-out-the-new-projects-experience/creating-a-project\">create</a> and <a href=\"https://docs.github.com/en/issues/trying-out-the-new-projects-experience/customizing-your-project-views\">group issues</a> into projects.</li>\n<li>Ways to grow from ideas expressed as text, into collections of issues.</li>\n</ol>\n<p><a href=\"https://github.blog/changelog/label/issues/\">More announcements</a> have followed, and last week the <a href=\"https://github.blog/changelog/2021-10-27-the-new-github-issues-public-beta/\">Beta opened up</a> to all users.</p>\n<h2>Beta Projects</h2>\n<p><a href=\"https://docs.github.com/en/issues/trying-out-the-new-projects-experience/about-projects\">Project tables</a> are spreadsheet-like views where each row is a real or draft issue.</p>\n<p><a href=\"https://github.com/orgs/github/projects/4247/views/7\"><img src=\"/images/gh-project-table.png\" alt=\"Screenshot of GitHub project table\"></a></p>\n<p>Rows (issues) can be grouped by field value. This includes custom fields whose values are maintained in the project instead of on issues in a repo. Maintaining custom field data inside projects is key to their power.</p>\n<blockquote>\n<p>Rather than polluting your issues with all possible categories of tags, new categories can be scoped inside a project.</p>\n</blockquote>\n<p>Since Beta Projects also support kanban views, I expect them to replace the existing Projects once they reach feature parity.</p>\n<h2>From text to issues</h2>\n<p>Auto-creating issues from <a href=\"https://docs.github.com/en/issues/tracking-your-work-with-issues/about-task-lists#about-issue-task-lists\">task lists</a> makes it easier to break down "epic" issues into smaller sub-issues. The task list item is checked off when the issue is resolved, and the child-issue links to the parent-issue with the task list.</p>\n<p><a href=\"https://github.com/gitpod-io/gitpod/issues/3065\"><img src=\"/images/gh-task-list.png\" alt=\"Screenshot of GitHub issue with a task list\"></a></p>\n<p>Similarly, <a href=\"https://docs.github.com/en/issues/trying-out-the-new-projects-experience/creating-a-project#adding-items-to-your-project\">draft issues</a> which are simply rows entered as text in a project table, can also be <a href=\"https://docs.github.com/en/issues/trying-out-the-new-projects-experience/creating-a-project#converting-draft-issues-to-issues\">converted</a> into issues.</p>\n<p><a href=\"https://github.com/orgs/github/projects/4247/views/7\"><img src=\"/images/gh-project-table-convert-to-issue.png\" alt=\"Screenshot of converting draft issue to issue in GitHub project table\"></a></p>\n<blockquote>\n<p>This makes task lists and project tables two convenient ways to brainstorm ideas, and break them down into smaller issues.</p>\n</blockquote>\n<h2>What's next</h2>\n<p>The GitHub public roadmap features a <a href=\"https://github.com/orgs/github/projects/4247/views/7\">planning view</a> specific to issues.</p>\n<p>A number of informative talks at the recent <a href=\"https://www.githubuniverse.com/2021/\">GitHub Universe 2021</a> also provided hints about what the team is planning.</p>\n<blockquote>\n<p>Remember that the new projects and issues features are still in Beta.</p>\n</blockquote>\n<p><em>To leave a comment<br>\nplease visit <a href=\"https://dev.to/jldec/first-impressions-of-the-new-github-projects-beta-nca\">dev.to/jldec</a></em></p>\n" }