Skip
Arish's avatar

39. GitHub Issues


GitHub Issues

Issues are GitHub's way to track bugs, features, tasks, and discussions for your project.

Creating an Issue

Via GitHub Website

  1. Go to your repository
  2. Click Issues tab
  3. Click New issue
  4. Fill in:
    • Title: Brief summary
    • Description: Details, steps to reproduce, etc.
  5. Click Submit new issue

Issue Example

Title: Login button not working on mobile Description: ## Bug Description The login button doesn't respond to taps on mobile devices. ## Steps to Reproduce 1. Open the site on a mobile device 2. Click the login button 3. Nothing happens ## Expected Behavior Login modal should appear ## Device Info - iPhone 13 - iOS 16 - Safari browser ## Screenshots [Attach if available]

Issue Components

Labels

Categorize issues with labels:

LabelUse
bugSomething isn't working
enhancementNew feature request
documentationDocumentation updates
good first issueGood for newcomers
help wantedExtra attention needed
priority: highUrgent issues

Assignees

Assign issues to team members:

  • Click Assignees on the right
  • Select team members
  • They'll be notified

Milestones

Group issues into milestones:

  • Create milestone (e.g., "v1.0.0 Release")
  • Assign issues to milestone
  • Track progress toward the goal

Projects

Link issues to project boards for Kanban-style tracking.

Issue Templates

Create templates for consistent issues:

Bug Report Template

Create .github/ISSUE_TEMPLATE/bug_report.md:

markdown
1---
2name: Bug Report
3about: Report a bug
4labels: bug
5---
6
7## Bug Description
8A clear description of the bug.
9
10## Steps to Reproduce
111. Go to '...'
122. Click on '...'
133. See error
14
15## Expected Behavior
16What should happen.
17
18## Screenshots
19If applicable.
20
21## Environment
22- OS:
23- Browser:
24- Version:

Feature Request Template

Create .github/ISSUE_TEMPLATE/feature_request.md:

markdown
1---
2name: Feature Request
3about: Suggest an idea
4labels: enhancement
5---
6
7## Problem
8What problem does this solve?
9
10## Proposed Solution
11How should it work?
12
13## Alternatives
14Other solutions considered.
15
16## Additional Context
17Any other information.

Working with Issues

Reference Issues in Commits

bash
1# Reference an issue
2git commit -m "Fix mobile login bug #42"
3
4# Close an issue automatically
5git commit -m "Fix login button - closes #42"

Keywords that close issues:

  • closes #42
  • fixes #42
  • resolves #42

In PR description:

Closes #42 Fixes #43

Search Issues

# In search bar is:issue is:open label:bug is:issue author:username is:issue assignee:me

Issue Best Practices

1. Be Specific

# Bad Title: It's broken # Good Title: Login form validation fails for email addresses with + symbol

2. Include Context

  • Steps to reproduce
  • Expected vs actual behavior
  • Environment details
  • Screenshots/videos

3. Use Labels Consistently

Define a labeling system and stick to it.

4. Keep Issues Focused

One issue = one problem or feature.

5. Update Issues

  • Add comments with progress
  • Close when resolved
  • Reference related issues

Issue Commands (Comments)

In issue comments, you can use:

/assign @username - Assign to user /label bug - Add label /milestone v1.0.0 - Add to milestone /close - Close issue /reopen - Reopen issue

Summary

GitHub Issues help you:

  • ✅ Track bugs and feature requests
  • ✅ Organize work with labels and milestones
  • ✅ Collaborate with assignees
  • ✅ Link to commits and PRs
  • ✅ Maintain project documentation

Next: Learn about Pull Requests!