Description
Goal
Add an initial GitHub integration that lets a project associate issues with GitHub branches and pull requests and shows the current pull-request state.
Scope
This first pass is read-oriented and intentionally narrow: connect a repository, create or remove issue links, and display branch/PR metadata and PR state. Full bidirectional issue sync, automation rules, and CI/check details are out of scope.
Acceptance criteria
- A project owner or authorized administrator can connect one or more GitHub repositories using a documented, least-privilege authentication flow that supports private repositories when authorized.
- Project members with write access can link an issue to a branch or pull request from the issue page, using a validated GitHub URL or repository-relative reference.
- The issue page shows linked repository, branch name or PR number/title, and a direct link to GitHub.
- Pull-request links display one of the initial states: draft, open, or merged; closed-unmerged behavior is explicitly defined and must not be shown as merged.
- Status is refreshed from GitHub on a documented schedule or webhook path, with a manual/eventual refresh fallback and a visible stale/unavailable state.
- Repository and PR identifiers are stored independently of mutable display text, and duplicate links to the same issue are prevented.
- Deleting or changing a project connection does not corrupt issue history; inaccessible or deleted GitHub resources degrade gracefully.
- Only users who can view the track-slash issue can see its integration data, and only authorized project users can add or remove links.
- Tokens and webhook secrets are encrypted or otherwise protected at rest, never rendered to clients or logs, and requested GitHub permissions are documented.
- Expose connection, link, unlink, and current-status data through the API before or alongside the UI.
- Add store, handler, authorization, GitHub error/rate-limit, refresh/webhook, duplicate-link, private-repository, and UI rendering coverage.
Sub-issues
0Linked issues
0GitHub
0No branches or pull requests linked.
Comments
0No comments.