Skip to content

GitHub Sync #8

@tkowalczyk

Description

@tkowalczyk

Parent PRD

#1

What to build

Connect the admin dashboard to GitHub so tasks can be pushed as issues and their status tracked back on the client page.

Repo picker: Admin selects a GitHub repo from a list of available repos (fetched via GitHub API using the personal access token stored as a Cloudflare Worker secret).

Push to GitHub: A single action creates one GitHub issue per task in the selected repo. Issue title = task title, issue body = task description. The resulting GitHub issue number and URL are stored in the Task record.

Status polling: On the client tracking page, when the page loads, the system calls GitHub API to check the current status (open/closed) of each linked issue. The task's done/not-done display updates accordingly.

Acceptance criteria

  • GitHub personal access token stored as Cloudflare Worker secret
  • Admin can select a GitHub repo from a dropdown of available repos
  • "Push to GitHub" creates one issue per task in the selected repo
  • GitHub issue numbers and URLs are stored per task in the database
  • Client tracking page polls GitHub API on load for issue status
  • Task status reflects whether the linked GitHub issue is open or closed
  • Admin can see GitHub issue links in the dashboard

Blocked by

User stories addressed

  • User story 13
  • User story 14
  • User story 15

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions