Skip to main content

GitHub Issues & Projects

Quick Summary

Issues are GitHub's built-in bug tracker and task list. Projects turn issues into visual kanban boards or spreadsheets for project management. Together they replace external tools like Jira or Trello for many teams.


GitHub Issues

Creating Issues

  1. Navigate to repository → Issues tab
  2. Click New Issue
  3. Fill in title and description
  4. Assign labels, assignees, milestone, and project

Issue Templates

Create .github/ISSUE_TEMPLATE/bug_report.md:

---
name: Bug Report
about: Report a bug to help us improve
labels: bug
---

## Description
A clear description of the bug.

## Steps to Reproduce
1. Go to '...'
2. Click on '...'
3. See error

## Expected Behavior
What you expected to happen.

## Actual Behavior
What actually happened.

## Environment
- OS: [e.g., Ubuntu 22.04]
- Browser: [e.g., Chrome 120]
- Version: [e.g., v2.1.0]

Issue Labels

LabelColorPurpose
bug🔴 RedSomething isn't working
feature🟢 GreenNew feature request
docs🔵 BlueDocumentation changes
good first issue🟣 PurpleGood for newcomers
priority:high🟠 OrangeNeeds immediate attention
wontfix⚪ GrayWon't be addressed

Linking Issues to PRs

# In your commit or PR description:
"Fixes #42" # Closes issue 42 when PR merges
"Closes #42" # Same effect
"Resolves #42" # Same effect
"Relates to #42" # Links without closing

GitHub Projects

Project Views

ViewBest For
Board (Kanban)Visual workflow tracking
Table (Spreadsheet)Detailed data management
Roadmap (Timeline)Planning across time

Setting Up a Board

  1. Go to your profile or org → Projects tab
  2. Click New project
  3. Choose Board layout
  4. Add columns: Backlog, In Progress, Review, Done
  5. Add issues by dragging or clicking + Add item

Automation

GitHub Projects support built-in automations:

TriggerAction
Issue openedMove to Backlog column
PR linked to issueMove to In Progress
PR mergedMove to Done
Issue closedMove to Done

Best Practices

  • Use issue templates — ensure consistent bug reports and feature requests
  • Label everything — makes filtering and prioritizing fast
  • Link PRs to issues — creates traceable history from problem to solution
  • Use milestones — group issues by release version
  • Review projects weekly — keep boards current and prioritized

What's Next

  1. GitHub Actions & CI/CD — Automate testing and deployment
  2. Pages & Releases — Host documentation and publish releases