How to use Github Issues for Projects
Tags: beginners, github, tutorial
Published: 2019-05-25 01:16:07

# What is a Github Issue

Recently my class was given a discussion topic that explained how to create a Github issue. While the walk-through of creating the issue was fairly straightforward, I was left wondering what a good use of this tool would be. It turns out that the issues feature is pretty useful for organizing projects and tracking progress. This feature can be used as a to do list, a way to track bugs, and much more. I will dive into several ways your team can use this feature on your next project.

## Using Issues as a To Do List

One way to use this feature is as an organization tool to break down what needs to get accomplished for your project, whether it be implementing a feature, or fixing a bug in your app. Additionally, each issue can be assigned to someone which will help your team work more efficiently. Issues can also be assigned labels to help organize them. Some common labels to use are bug (for reporting a bug within your project) and enhancement (which people generally use for a new feature).

![To Do Example](https://thepracticaldev.s3.amazonaws.com/i/r0uw993phozgwp82lcr9.png)

Issues supports markdown, so it can be useful to use checkboxes or bullets to divide specific tasks into smaller pieces. When a sub-task is complete, it can be checked off the list. When using checkboxes within your issue, the homepage of the issues tab will display a meter for how many checkboxes are checked off for that issue.

![Checkbox Meter](https://thepracticaldev.s3.amazonaws.com/i/akh3sqt0dgoyy4yk6qig.png)


## Commenting on an Issue

It can also be useful to write comments for a particular issue to discuss ideas with your peers. Your peers can react to a comment with a few different emojis or by replying. This can be useful if a team member has an idea that they would like feedback on or if the team wants to vote on a few different ideas. If you mention a GitHub user with the @ symbol in your comment, they will get receive a notification. I think this feature would be very useful when collaborating with team members and ensuring everyone's voice is heard. 

![Comment](https://thepracticaldev.s3.amazonaws.com/i/qv7o1nxnkposit2mbddu.png)

## Milestones

A user can also create milestones in the issues tab to set a deadline for a feature and track progress. Specific issues can be assigned to a milestone and as they are closed the milestone meter will update, showing how close you are to meeting your deadline. 

![Milestone Homepage](https://thepracticaldev.s3.amazonaws.com/i/rnhphbzs7jg8gps9qm0r.png)

## Closing an Issue

When your code or fix is complete for an issue, the issue should be closed with a note explaining why it's being closed in case other developers reference it later. If the pull request or commit you are making should close an issue, you can write "closes" with the issue number in the description. For example, "This closes #1." When the request is merged with your default branch, the issue will automatically be closed. 


__Helpful tip:__ 

*If you press "?" anywhere on Github, a list of shortcuts will pop up and there are a lot of useful ones for Issues.*


A couple things to note about issues:

Issues can't be deleted as far as I am aware. Also, after an issue is closed it can be reopened if it was closed by mistake.

## Conclusion

After researching this topic further I'm excited to use it on my next project. I think this GitHub feature can be super useful for organizing thoughts and making sure your team's project is on track.

![high five](https://media.giphy.com/media/5wWf7GW1AzV6pF3MaVW/giphy.gif)



Citations:
- I found [this video](https://www.youtube.com/watch?v=kezinXSoV5A) very helpful in explaining the basic uses of Issues
- [Cover image](https://ssir.org/articles/entry/cutting_through_the_complexity_a_roadmap_for_effective_collaboration)