GitHub Issues
Issues are GitHub's way to track bugs, features, tasks, and discussions for your project.
Creating an Issue
Via GitHub Website
- Go to your repository
- Click Issues tab
- Click New issue
- Fill in:
- Title: Brief summary
- Description: Details, steps to reproduce, etc.
- 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:
| Label | Use |
|---|---|
bug | Something isn't working |
enhancement | New feature request |
documentation | Documentation updates |
good first issue | Good for newcomers |
help wanted | Extra attention needed |
priority: high | Urgent 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 #42fixes #42resolves #42
Link Issues to Pull Requests
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!
