Using project boards for task management

Project boards on GitHub are Kanban boards made up of issues, pull requests, and notes that are categorized as cards in columns of your choosing. Project boards help you organize and prioritize your work. This is what a project board looks like:

image of project board

For more information, see “About project boards.”

Project boards are typically used by teams to coordinate work on a specific project. I’ve also had great success using a project board for my personal to-do list, including tasks from multiple projects. Read on to learn how to use project boards in both ways.


Using project boards with your team

You can create project boards to coordinate with your team on specific feature work, comprehensive roadmaps, or even release checklists.

First, decide if you need a repository project board or an organization-wide project board. Is the work you’re coordinating limited to a single repository, such as building a specific feature? Or, do you want to include issues and pull requests from multiple repositories in your organization to create a comprehensive roadmap, for example?

Now, you can create your project board. If your project has a similar workflow to a past project, you might want to copy an existing project board. For more information, see “Copying a project board.” Otherwise, you can start from scratch. You’ll be able to build the project board entirely by yourself or choose from our templates. See “Creating a project board” for instructions.

Once you’ve created your project board, consider enabling automation. Automation eliminates some of the manual tasks in managing a project board by automatically performing actions when certain triggering events occur. For example, after you enable automation, when you close an issue that’s in your project board, that issue will automatically move to the Done column. For more information, see “About automation for project boards.”

Automation only moves cards between columns in your project board. To automate adding issues and pull requests to your project board in the first place, use query parameters. Add the ?projects= parameter to the URL for opening a new issue, like this:

If you want to report a bug, please [open an issue](

You can put that URL in your README or CONTRIBUTING files or your default issue template, so people who are about to open an issue will use the correct URL. For more information, see “About automation for issues and pull requests with query parameters” and “Manually creating a single issue template for your repository.”

Using a project board for your personal to-do list

I found using project boards so helpful for managing tasks with my coworkers that I started using one for my personal to-do list as well. In addition to providing email support to GitHub users, I also maintain the internal documentation for my team and write articles like this for the Community Forum. To manage all the tasks I’m responsible for across these projects, I created a project board in a private repository owned by my personal GitHub account (lecoursen/career).

Repository project boards can only contain issues and pull requests from that specific repository, so I can’t add issues or pull requests from the GitHub repositories I work in to my project board directly. Luckily, you can add notes to a project board, and when that note contains the URL for an issue or pull request, you’ll see a preview in a summary card, no matter which repository the issue or pull request belongs to:

image of reference

For more information, see “Adding notes to a project board.”

Every time I take on a new task at work, I add a card to one of my three to-do columns, one for each type of work I do:  SupportDocs , and  Community. Usually these cards reference an issue I’ve been assigned to (like the one above) or a pull request I’ve been requested to review. Sometimes, the card contains only a note reminding me to do something like watch the recording of a meeting I missed. I’m usually alerted to these tasks by Octobox, which I use to manage my GitHub web notifications. I can also check and (which list all the pull requests and issues you’ve created, been assigned to, been mentioned in, or been requested to review) to see if I’ve missed anything.

The last thing I do each Friday is plan for the next work week by moving cards from these to-do columns to one of my doing columns:  This Week. My other doing column is called  Waiting…  It’s for anything that is in progress but not currently actionable by me. Usually this means pull requests that I’ve requested my colleagues review! Once they submit their reviews, I move the card back to  This Week  to remind myself to address their feedback.

When I finish a task, I move it to this year’s done column. Right now, that column is called  2019 Review Cycle. In January, it will be easy to write the self assessment portion of my performance evaluation with the help of this list of tasks I completed in the past year! After that, I’ll create a new done column,  2020 Review Cycle. The best system for you will depend on your own situation.

Finally, I have an  Icebox  column for things I started but have put on hold indefinitely… just in case I ever want to pick them back up. (It’s hidden all the way to the right. 😆)



If you have any questions about my to-do list project board, please leave a comment below. If you need help using project boards generally, contact the Support Team! We’ll be happy to help.


Can you provide the forum or a way to provide feedback?
This is a fantastic feature and would love to see it pushed ever further :slight_smile:


Hi richardlalancetteyoui, Thanks for being here! Please feel free to leave any feedback or questions about this article in the comment section, for more specific help using the project boards you might try posting in our forum. I hope this helps!

Thanks for the insight on how you use projects. I have a question about the automation; is there a way to specify a label in a repo to be added to the To-Do list? In other words, label:To-Do gets added to the board column automatically?

I have not seen that example or if there’s a workaround that someone has figured out.


Hi @mkoo,

Great question! As far as I know, this functionality for automation doesn’t yet exist, but I can definitely see the value in it. I will be sure to share this with the appropriate team for future consideration. Thank you!

Hi again @mkoo,

I talked with someone, and though we don’t have a solution for this built into GitHub right now, one of our team actually has built a probot app that may help. 

It can:

  1. Update an issue card’s column in a defined project when a label from a defined list of label:column keypairs is added to the issue
  2. Update an issue’s label when its project card is moved to one of the columns defined in the same list of label:column keypairs
  3. Ensure that when a label is applied to an issue it is the only label in that defined list (removes any others)
  4. Apply a default label (and hence column in the defined project) for newly added issues

I hope this helps as a workaround for now!


Love the project boards, but its hard to get an overview of all the cards when they have so much information.

For instance, I’d love to hide the ‘added by’ and ‘label’ information to make each card smaller (but keep this information in the card to enable filtering). Is this possible in any way?


I’m not seeing the way to include due dates or priorities, task-management staples such as that, to the issues or cards. Am I missing these sorts of details or are they not included in the OTB version? Thanks.


Any chance of seeing functionality for Epics, sub tasks/issues, links to related tasks/issues?

Whats the roadmap for Project boards?