This GitHub Projects tutorial is a step-by-step guide to Project Planning with GitHub, including settings, creating custom fields, managing access, etc:
GitHub recently introduced a new beta feature for better project planning. This new experience gives the project team a view of a roadmap for the future.
The project plan is very much part of your GitHub Organization to plan and track your work and you do not need to switch to other tools.
Let’s dive in and look at using this new project experience for issues within your repositories, add existing project to github and also look at how sprints can be planned as part of project tracking.
Let us begin!
Table of Contents:
- GitHub Projects – New Beta Features Review
- Creating a New Project (beta) in GitHub
- Adding Hidden Fields to the Plan
- Creating Custom Fields and Adding to the Plan
- Group the Issues by Certain Field (Priority)
- Configuring Built-in Automation Through Workflows
- Settings of Project (beta) in GitHub
- Managing Visibility of Projects (beta)
- Managing Access of GitHub Projects (beta)
- Sprint Planning with Projects (beta)
- Conclusion
GitHub Projects – New Beta Features Review
Suggested Reading =>> How to use GitHub
Creating a New Project (beta) in GitHub
To add features to the new project experience, go to the main Organization page and click on the ‘Projects’ tab. You will see Projects (Beta) on the left. This option gives you a broad experience. You can also easily switch to the Table view by selecting the other option Projects.
Click on New Project -> New Project (Beta). We can create this project at the organization or at the user account level.
Rename the plan.
There are the default fields Assignees and Status. We will look at adding fields and creating new fields. Rename this view. Place the cursor on View 1 and add a new name.
For this project plan, we can start adding issues in 2 ways.
a) Start typing next to and press Enter.
Click on the small down arrow next to the issue entered and select Convert to issue and select the repo to save to.
Select the repo from the drop-down.
b) Add existing issues from your repositories within the organization. Remember, we created the project within the organization.
Start typing # next to and select the repository where the issues are located.
Select and add both the issues as listed.
Add a few other issues from other repositories.
Populate the Assignees and Status field.
Recommended Reading => Explore the Differences Between Git Vs GitHub
Adding Hidden Fields to the Plan
Apart from the Assignee and status field, we can also add other pre-defined hidden fields to the plan. Click on next to the Status field and select the Repositories and Label fields.
Creating Custom Fields and Adding to the Plan
We will create a custom field ‘Priority’ with values ‘High’, ‘Medium’, and ‘Low’.
Click on the next to the last field and select New field.
Add the name of field and values as Single select. Click on Save.
Update the values as well.
The other types of fields are:
Save the view
Click on the drop-down next to view and click on Save Changes.
Group the Issues by Certain Field (Priority)
Focusing on high-priority items makes it easier to group them by Priority.
Press Ctrl + K to open the command palette and select “Group by”. Select the Priority field.
The view finally shows up below.
Ensure the view is saved as well.
Switch View
You can also switch the view to be displayed as Board. Select the drop-down next to view and select Board.
Configuring Built-in Automation Through Workflows
When there is an issue, a pull request is added to the repositories and the Status is set to Todo.
On the right-hand side, click on the 3 DOTS (…) and select Workflows.
Select ‘Item added to project’ and click on the Disabled toggle to enable the selected workflow.
As seen, only these workflows can be enabled as of now.
Settings of Project (beta) in GitHub
We can edit the settings of the project to add/modify any values of the fields. Click on settings in the right-hand corner.
Select the appropriate field and add options as needed. Once done, click on the Save option.
Managing Visibility of Projects (beta)
GitHub Projects – Project admins need to control who can view the projects. The visibility for Projects (Beta) can be private or public. Anyone can view public projects on the internet. For private projects, only users added and granted any Admin, Read, Write access can view the project.
If the project includes issues from a private repository, people who are not part of the collaborators cannot view the issues. Project admins can only set visibility.
To change the visibility of the project, go to Settings of the project and change the visibility to either Private or Public as per need.
Managing Access of GitHub Projects (beta)
Project settings can be modified to restrict access to the project. By default, everyone in the organization has to write access to the project. It can be modified to ensure all users in the organization can only read or have no access given. Only the owners of the Organization can add issues.
Only project admins or Organization owners can manage the access for every part of the organization.
You can also add a team or any individual organization members as collaborators and provide them with access. Under Invite collaborators, search for a username or team and provide them with Admin (View, Edit and Add collaborators), Read (View only), and Write (View and Edit) access.
Sprint Planning with Projects (beta)
We can provide a view of the issues planned for upcoming sprints by adding a new field of type Iteration.
In the projects view, add a new field and select the type as Iteration.
Click on Save & create.
Go to Settings, modify the dates and add additional sprints as well.
Other fields, like a number field, can be added to track complexity.
Back in the project view, add the sprints to each issue. Proceed with Group by on sprints.
Press Ctrl + K to open the command palette and select Group By Sprint field.
Conclusion
A great and refreshing feature to plan and track your work integrated within GitHub Organizations.
In this article on GitHub Projects, we have seen how this new feature can create Projects, add new issues, and existing issues from the repositories within the organization, customize fields, manage visibility and access, and also a bit of automation which it provides as part of workflows.
Also Read =>> Top GitHub Alternatives with Features
Focusing on specific aspects, we also did look at how we could Group using a specific field using the command palette and also viewed the project as a Table or Board.
Lastly, we also learned about the github project management process and saw how the project can be used for planning sprints.