Skip to content

Quality Pass: GitHub / GitLab Integration #74

@dhilgaertner

Description

@dhilgaertner

Parent: #53

Scope

Provider detection, ticket fetching, issue tracking with polling, PR status monitoring, project board sync, and auto-status updates from GitHub/GitLab.

  • Refactoring — identify and address code quality improvements
  • Documentation — ensure adequate inline and user-facing docs
  • Code Review — thorough review for correctness, edge cases, security
  • Testing — add/improve tests for key functionality

Key Files

  • Packages/CrowProvider/Sources/CrowProvider/ProviderManager.swift — provider detection, URL parsing, ticket fetching via gh/glab CLI
  • Sources/Crow/App/IssueTracker.swift — 60-second polling, assigned issue fetching, PR linking, project board status
  • Packages/CrowCore/Sources/CrowCore/Models/AssignedIssue.swift — issue model (number, title, state, repo, labels, prNumber, projectStatus)
  • Packages/CrowCore/Sources/CrowCore/Models/PRStatus.swift — PR pipeline/review/merge status

Areas of Interest

  • Provider detection from URLs (github.com, gitlab.com, custom hosts)
  • Ticket URL parsing (org/repo/issues|pull|merge_requests/number)
  • CLI invocations: gh search issues, gh pr list, gh pr view, glab issue list, glab mr view
  • Closing issue references to link PRs ↔ issues
  • GitHub project board status fetching (TicketStatus: Backlog/Ready/In Progress/In Review/Done)
  • PR status (checksPass, reviewStatus, mergeable, failedCheckNames)
  • Auto-complete sessions when linked issue/PR closes
  • Auto-sync "In Review" status from project board
  • Polling interval and error resilience
  • Done issues count (closed in last 24h)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions