Skip to content

[Phase 5.5] GitHub Issues import: issue browser and multi-select UI #564

@frankbria

Description

@frankbria

Goal

Build the issue browser UI that lets users browse and select GitHub issues from a connected repo before importing.

Background

Follows the GitHub connection issue (#563). With a repo connected, users need to browse open issues and pick which ones to bring into CodeFRAME.

Scope

Tasks page — new "Import from GitHub" entry point:

  • [Import Issues] button on the Tasks page (shown only when a GitHub repo is connected)
  • Opens a full-screen modal or slide-over with:
    • Issue list: title, labels, assignee, age — paginated 25 at a time
    • Search / filter: by text (title search via GitHub API), by label, by assignee
    • Multi-select checkboxes with a "select all on page" checkbox
    • Selected count badge (e.g., "3 selected")
    • [Import Selected] button — disabled when 0 selected (triggers import flow in [Phase 5.5] GitHub Issues import: execute import and task traceability #565)
    • [Cancel] button

Backend:

  • GET /api/v2/integrations/github/issues?page=1&per_page=25&search=...&label=... — proxies to GitHub API using stored PAT, returns simplified issue objects
  • Cache responses for 60 seconds to avoid rate-limit issues

Out of scope

  • Closed issues
  • Issues from repos the user hasn't connected

Acceptance criteria

  • Issue list renders with pagination
  • Search and label filter work
  • Multi-select state persists across pages
  • [Import Selected] enabled only when ≥ 1 issue selected
  • npm test pass

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestphase-5Phase 5: Advanced Features & Polish

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions