Introduction
This guide demonstrates how to use Projects to plan and track work. In this guide, you will create a new project, customize views, and add custom fields to manage a team backlog, iteration planning, and a team roadmap to communicate priorities and progress with your collaborators. You'll also set up built-in workflows to automatically manage the items in your project and charts to visualize items in your project.
Prerequisites
You can either create an organization project or a user project. To create an organization project, you need a GitHub organization. For more information about creating an organization, see Creating a new organization from scratch.
In this guide, you will add existing issues from repositories owned by your organization (for organization projects) or by you (for user projects) to your new project. For more information about creating issues, see Creating an issue.
Creating a project
First, create an organization project or a user project.
Creating an organization project
-
In the upper-right corner of GitHub, click your profile picture, then click Your organizations.
-
Click the name of your organization.
-
Under your organization name, click Projects.
-
Click New project.
-
Select which type of project or template you want to use.
- To create a blank project, under "Start from scratch", click Table, Roadmap, or Board.
- To create a project from a template, click the template you want to use. You can select from the built-in templates curated by GitHub, the templates created by your organization, and the recommended templates that have been chosen by your organization.
-
Optionally, if you selected a template, review the fields, views, workflows, and insights that will be created.
-
In the text box under "Project name", type a name for your new project.
-
Click Create project.
Creating a user project
-
In the top right corner of GitHub, click your profile picture, then click Your profile.
-
On your profile, click Projects.
-
Click New project.
-
Select which type of project or template you want to use.
- To create a blank project, under "Start from scratch", click Table, Roadmap, or Board.
- To create a project from a template, click the built-in template that you want to use.
-
Optionally, if you selected a template, review the fields, views, workflows, and insights that will be created.
-
In the text box under "Project name", type a name for your new project.
-
Click Create project.
Setting your project description and README
You can set your project's description and README to share the purpose of your project, provide instructions on how to use the project, and include any relevant links.
-
Navigate to your project.
-
In the top-right, click to open the menu.
-
In the menu, click Settings to access the project settings.
-
To add a short description to your project, under "Add a description", type your description in the text box and click Save.
-
To update your project's README, under "README", type your content in the text box.
- You can format your README using Markdown. For more information, see Basic writing and formatting syntax.
- To toggle between the text box and a preview of your changes, click or .
-
To save changes to your README, click Save.
You can view and make quick changes to your project description and README by navigating to your project and clicking in the top right.
Adding items to your project
Next, add a few items to your project.
-
Place your cursor in the bottom row of the project, next to the .
-
Paste the URL of the issue or pull request.
-
To add the issue or pull request, press Return.
Repeat the above steps a few times to add multiple items to your project.
For more information and other ways to add issues to your project, or about other items you can add to your project, see Adding items to your project.
Adding draft issues to your project
Next, add a draft issue to your project.
-
Place your cursor in the bottom row of the project, next to the .
-
Type your idea, then press Enter.
-
To add body text, click on the title of the draft issue. In the markdown input box that appears, enter the text for the draft issue body, then click Save.
Adding fields
Next, create custom fields to manage the iteration, priority, and estimates for your project items.
Creating an iteration field
Create an iteration field so you can plan and track your work over repeating blocks of time. Iterations can be configured to suit how you and your team works, with customizable lengths and the ability to insert breaks.
- In table view, in the rightmost field header, click .
- Click New field.
- At the top of the dropdown, type the name of your new field.
- Select Iteration
- To change the duration of each iteration, type a new number, then select the dropdown and click either days or weeks.
- Click Save.
Specify an iteration for all items in your project.
Creating a priority field
Now, create a custom field named Priority
and containing the values: High
, Medium
, or Low
.
- In table view, in the rightmost field header, click .
- Click New field.
- At the top of the dropdown, type the name of your new field.
- Select Single select
- Below "Options", type the first option, "High".
- To add additional fields, for "Medium" and "Low", click Add option.
- Click Save.
Specify a priority for all items in your project.
Creating an estimate field
Create a custom field named Estimate
to track the complexity for each item.
- In table view, in the rightmost field header, click .
- Click New field.
- At the top of the dropdown, type the name of your new field.
- Select Number
- Click Save.
Specify an estimate for all items in your project.
Creating views
Create views to visualize your items in a table, board, and roadmap.
For more information on customizing views, see Customizing views in your project.
Creating a team backlog
You can use a table layout to visualize your team backlog as a spreadsheet, allowing you to view many fields and make edits.
Select visible fields for your view to communicate the priority and progress of your team backlog.
-
In table view, in the rightmost field header, click .
-
Under "Hidden fields", click Status, Assignees, Linked pull requests, Priority, and Estimate.
Next, group all of the items in your project by priority to make it easier to focus on the high priority items.
-
Click next to the name of the currently open view.
-
Click Group.
-
Click Priority.
Now, move items between groups to change their priority.
- Choose an item.
- Drag and drop the item into a different priority group. When you do this, the priority of the item will change to be the priority of its new group.
You can also show the sum of the Estimate
field for each priority group.
-
Click next to the name of the currently open view.
-
Click Field sum.
-
Select Estimate.
When you grouped your items by priority and added a field sum in the previous steps, your project displayed an indicator to show that the view was modified. Save these changes so that your collaborators will also see the tasks grouped by priority.
-
Click next to the name of the currently open view.
-
Click Save changes.
You can share the URL with your team to keep everyone aligned on the project priorities. When a view is saved, anyone who opens the project will see the saved view. Here, you grouped by priority, but you can also add other modifiers such as sort, filter, or layout.
Finally, to indicate the purpose of the view, give it a descriptive name.
-
Click next to the name of the currently open view.
-
Click Rename view.
-
Type the new name for your view.
-
To save changes, press Return.
Next, you will create new views with different layouts.
For more information on customizing tables, see Customizing the table layout.
Creating a weekly iteration board view
To view the progress of your project's items in a kanban board, you can use the board layout. The board layout is based on the status field by default, so specify a status for each item in your project.
First, create a new view.
- To the right of your existing views, click New view
Next, switch to the board layout.
-
Click next to the name of the currently open view.
-
Under "Layout", click Board.
To indicate the purpose of the view, give it a descriptive name.
-
Click next to the name of the currently open view.
-
Click Rename view.
-
Type the new name for your view.
-
To save changes, press Return.
Add a filter for iteration:@current
to only includes items from the current iteration.
You can also show the sum of the Estimate
field for each status column.
-
Click next to the name of the currently open view.
-
Click Field sum.
-
Select Estimate.
When you added a filter and added a field sum in the previous steps, your project displayed an indicator to show that the view was modified. Save this view so that you and your collaborators can easily access it in the future.
-
Click next to the name of the currently open view.
-
Click Save changes.
For more information on customizing boards, see Customizing the board layout.
Creating a team roadmap
To view your project items on a timeline, you can use the roadmap layout. Roadmaps use custom date and iteration fields to position your issues, pull requests, and draft items on a timeline, allowing you to track work over time and watch progress.
First, create a new view.
- To the right of your existing views, click New view
Next, switch to the roadmap layout.
-
Click next to the name of the currently open view.
-
Under "Layout", click Roadmap.
You can add vertical markers on a roadmap to show the milestones associated with items in your project.
-
In the top right of your roadmap, click Markers.
-
In the menu, select which markers you want to display on your roadmap.
When you added markers, your project displayed an indicator to show that the view was modified. Save this view so that you and your collaborators can easily access it in the future.
-
Click next to the name of the currently open view.
-
Click Save changes.
To indicate the purpose of the view, give it a descriptive name.
-
Click next to the name of the currently open view.
-
Click Rename view.
-
Type the new name for your view.
-
To save changes, press Return.
For more information on customizing roadmaps, see Customizing the roadmap layout.
Configuring built-in automation
Next, configure the auto-add workflow to automatically add issues opened in a repository with a specific label to your project.
-
Navigate to your project.
-
In the top-right, click to open the menu.
-
In the menu, click Workflows.
-
In the "Default workflows" list, click Auto-add to project.
-
To start editing the workflow, in the top right, click Edit.
-
Under "Filters", select the repository you want to add items from.
-
Next to the repository selection, type the filter criteria you want items to match before they are automatically added to your project. For example, to catch all issues and pull requests opened with the label "question", use
is:issue,pr label:question
. -
To enable the new workflow, click Save and turn on workflow.
Finally, add a built in workflow to set the status to Todo when an item is added to your project.
- In the top-right, click to open the menu.
- In the menu, click Workflows.
- Under Default workflows, click Item added to project.
- Next to When, ensure that both
issues
andpull requests
are selected. - Next to Set, select Status:Todo.
- Click the Disabled toggle to enable the workflow.
For more information on automating your project and other default workflows you can configure to keep your project items up to date, see Automating your project.
Viewing charts and insights
You can use insights for Projects to view, create, and customize charts that use the items added to your project as their source data. You can apply filters to the default chart and also create your own charts by choosing the grouping, layout, X-axis, and Y-axis configuration.
- Navigate to your project.
- In the top-right, to access insights, click .
- In the menu on the left, click New chart.
- Optionally, to change the name of the new chart, click , type a new name, and press Return.
- Above the chart, type filters to change the data used to build the chart. See Filtering projects.
- To the right of the filter text box, click Save changes.
For more information, see About insights for Projects.