GitHub is the go-to source for online Git repository hosting, but it also hosts a bunch of tools for project organization and automation, including built in Kanban boards with automation.
Why Not Just Use Jira?
Jira is the industry-standard project management software from Atlassian. It features Kanban boards, but also issue tracking, scrum-focused time management tools for agile teams, and tools for long term feature planning.
It’s great, and also has integration with GitHub, so if you want the best issue tracking tool, you should use it instead. You can read our guides to getting starting using Jira or installing Jira on your own servers to learn more.
However, Jira is also a serious solution hosted on a separate website. It has a free version, but only for less than ten users. Many features are also not available for free.
For many teams, you may just want a simple board to keep track of organizing your issues, and don’t want to have to set up and manage an external solution. For those people, GitHub’s internal solution will work very well. It is basic in comparison, but many teams will prefer to be on GitHub regardless.
GitHub also has a paid version, but all of the issue and project management tools are offered for free, regardless of whether you’re using a public or private repository.
GitHub’s Kanban boards are called “Projects,” and you can have multiple projects for each repository. You can also have global projects that aren’t linked to any repositories, which are available from your profile.
One thing to note is that there is no way to make a private project board for a public repository, it simply defaults to public with no option to turn that off. Until GitHub changes that, you’ll need to use a personal project that is set to private, or a project on a private repository.
From your main page for your repo, click on “Projects”:
Create a new project, and give it a name and description.
You have a few options for templates, though all of them are just Kanban boards. The two interesting ones are “Automated Kanban” and “Automated Kanban with Reviews,” which both integrate with issues and pull requests to automatically move them across the board.
In any case, after you’ve created the board you’ll be presented with a list of columns with the option to create cards and move them around.
Unfortunately, the basic cards don’t have any options for tags or in-list organization. However, that’s because you need to convert them to an full issue, which shows up on the issue list for the repository, and offers the ability for discussion on that issue.
Then, you can assign it to specific people and create labels for it. The card will now link to the issue page with the full discussion.
You can filter issues by label and milestone, as well as based on the status of the pull request linked to it:
You can also convert issues to cards, in reverse. If someone opens an issue, you can add it to a project (or multiple projects) from the issue settings:
Unless you assign it to a list, it will go into a queue where it can be assigned.
You can also link the issue with pull requests, or set milestones for long term organization. These will also show up on the card in the project board.
Once cards are linked with issues, there’s no way to unlink. If you delete the issue, the card will be deleted as well (though simply closing it is fine).
Overall, GitHub’s Kanban organization is simply an extension of their existing issue system. If you’re looking for more organizational tools for issues, it’s great, though if you’re looking for a Kanban board for rigorous time-tracking, you may be better off with a solution like Jira.