GitHub
07 / 10

Issues, Projects & Discussions

GitHub: Issues, Projects & Discussions

Issue Templates

# .github/ISSUE_TEMPLATE/bug_report.yml
name: Bug Report
description: Something isn't working
labels: [bug, needs-triage]
assignees: [lead-dev]
body:
  - type: markdown
    attributes:
      value: "Thanks for taking the time to report a bug!"

  - type: input
    id: version
    attributes:
      label: Version
      placeholder: "1.2.3"
    validations:
      required: true

  - type: textarea
    id: description
    attributes:
      label: What happened?
      description: A clear description of the bug
    validations:
      required: true

  - type: textarea
    id: steps
    attributes:
      label: Steps to reproduce
      value: |
        1. Go to '...'
        2. Click on '...'
        3. See error

  - type: dropdown
    id: severity
    attributes:
      label: Severity
      options: [Critical, High, Medium, Low]
    validations:
      required: true

Issues via CLI

# Create issues
gh issue create --title "Bug: login fails on mobile" --body "..." --label bug
gh issue create --title "Feature: dark mode" --template "feature_request.yml"

# List and view
gh issue list
gh issue list --state open --label "bug" --assignee "@me"
gh issue view 42
gh issue view 42 --web

# Update and close
gh issue edit 42 --add-label "in-progress" --remove-label "needs-triage"
gh issue close 42 --comment "Fixed in #45"
gh issue reopen 42

GitHub Projects v2

Projects v2 is a spreadsheet-like project management tool with Board, Table, and Roadmap views. Supports custom fields, automation, and grouping.

  • Views: Board (kanban), Table (spreadsheet), Roadmap (timeline)

  • Custom fields: text, number, date, single select, iteration (sprints)

  • Automation: auto-assign status when PR is opened/merged, auto-archive closed issues

  • Insights: burn-up/burn-down charts based on custom fields

  • Cross-repo: a single Project can span multiple repositories

  • Linked to issues and PRs via "Projects" field in the issue sidebar

# Add issue to project
gh project item-add PROJECT_NUMBER --owner org --url ISSUE_URL

# List project items
gh project item-list PROJECT_NUMBER --owner org

# Update a project field
gh project item-edit --project-id PVT_xxx --id ITEM_ID \
  --field-id FIELD_ID --single-select-option-id OPTION_ID

CODEOWNERS

# .github/CODEOWNERS
# Auto-assign reviewers based on changed files

# Default owners for everything
*                   @myorg/core-team

# Frontend
/src/components/    @myorg/frontend-team
/src/styles/        @alice @bob
*.css               @alice

# Backend
/src/api/           @myorg/backend-team
/src/db/            @charlie

# Infrastructure
/terraform/         @myorg/devops
/.github/           @myorg/devops
Dockerfile          @myorg/devops

# Documentation
/docs/              @myorg/docs-team
*.md                @myorg/docs-team

Discussions

  • Discussions: forum-style Q&A and announcements separate from Issues

  • Categories: Q&A (mark answers), Announcements, Ideas, Show and Tell, General

  • Convert issue to discussion (and vice versa) — useful for feature requests

  • Pin discussions to the top of the Discussions tab

  • Lock discussion: prevent new comments while keeping it visible

  • GitHub Discussions API: automate creation via GraphQL

Keep your own version of these notes — editable, searchable, and organised by your stack.

Start free