GitHub Issues: Tracking Issues

GitHub is a powerful platform for source code hosting and collaboration. One of its most valuable features is the Issues system, which allows users and collaborators to track and discuss problems related to a project. Issues can be bugs, improvements, tasks or even general questions about the project.

What are GitHub Issues?

GitHub Issues are essentially discussion threads that can be created by anyone who has access to a repository. They serve as a central point for reporting and tracking failures, requesting new features, or even asking questions and discussing ideas related to the project. Each issue has its own discussion thread, allowing collaborators and project maintainers to communicate in an efficient and organized way.

How to Create an Issue

To create an issue, you need to navigate to the GitHub repository where you want to report the problem or suggestion. In the repository, click on the Issues tab and then on the New issue button. You will be directed to a page where you can add a title and detailed description of the issue. It is good practice to include information such as:

  • A clear and concise description of the problem.
  • Steps to reproduce the issue, if applicable.
  • Information about the environment in which the problem occurs (operating system version, browser, etc.).
  • Any error log or screenshot that might help you understand the problem.

After filling in the necessary information, you can submit the issue by clicking Submit new issue.

Labels

Tags are a fundamental part of GitHub Issues, as they help you categorize and filter issues according to their type, status, priority, among other criteria. Project maintainers can create custom tags, but GitHub also provides some standard tags like bug, enhancement, and question ).

Assignees

When you create an issue, you can also assign it to one or more project contributors, known as assignees. This is useful for indicating who is responsible for working on that specific issue. Assignees will be notified and can begin working on resolving the issue or implementing the suggestion.

Milestones

Another useful feature in issue management are milestones. They allow you to group issues and pull requests into specific project stages or future versions. This helps the team organize around clear goals and monitor progress toward those goals.

Comments and Discussion

Issues are not just for tracking problems; they are also a platform for discussion. Anyone with access to the repository can comment on an issue, which allows for an open dialogue between developers, users and contributors. This interaction can lead to a deeper understanding of the problem and more effective solutions.

Close Issues

Once an issue has been resolved, it can be closed. This is usually done by the project maintainer or the person who opened the issue. Closing an issue does not delete it; it remains available in the project history for future reference. Additionally, closed issues can be reopened if the issue resurfaces or there is more discussion to be had.

Integration with Pull Requests

Issues can be integrated with pull requests (PRs), which is a common practice for connecting a code change to a reported issue. For example, a developer might create a PR to resolve a specific issue and reference it using a hashtag followed by the issue number (e.g. #123). This creates a link between the PR and the issue, and GitHub will often automatically close the related issue when the PR is merged.

Good Practices

To keep issue tracking effective and organized, it's important to follow some best practices:

  • Check if the issue already exists before creating a new one.
  • Be clear and specific when describing the problem or suggestion.
  • Use tags appropriately to help with categorization and searching for issues.
  • Respect employees and maintain constructive communication.
  • Track the issues you created or were assigned to resolve.

GitHub's Issues system is a powerful tool that helps development teams stay on top of their project challenges and improvements. When used efficiently, it can significantly improve software quality and collaboration between team members.

Now answer the exercise about the content:

Which of the following statements about GitHub Issues is correct?

You are right! Congratulations, now go to the next page

You missed! Try again.

Article image GitHub Actions: automation with CI/CD 36

Next page of the Free Ebook:

GitHub Actions: automation with CI/CD

Estimated reading time: 5 minutes

Download the app to earn free Certification and listen to the courses in the background, even with the screen off.

+ 9 million
students

Free and Valid
Certificate

60 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video and ebooks