Skip to content

[Story]: GitHub repository connector v0 (commits, files, issues, PR metadata) #159

Description

@adoLime

User Story

As an admin, I want to connect a GitHub repository and ingest its commits, files, issues and PR metadata into the canonical artifact store, so that users can ask the chat about real project history and code context.

Context & Motivation

Dependencies

Acceptance Criteria

  • Given an admin provides a repo URL + read-only token, when the connector runs, then it ingests: repository metadata, file tree (text files), commit messages, issues (title/body/labels), and PR metadata (title/body/state) as canonical artifacts.
  • Given a configured allowlist of paths/branches, when ingestion runs, then only in-scope content is ingested.
  • Given each ingested artifact, when stored, then it carries provenance: e.g. source_system=github, source_url, source_id, content_hash, ingestion_run_id.
  • Given a second run with no upstream changes, when executed, then no duplicate artifacts are created (hash-based idempotency).
  • Given upstream changes (new commit / edited issue), when re-run, then only changed artifacts are updated.
  • Read-only token stored via secret mechanism ([Story]: Keep secrets out of the repo #94/[Story]: GitHub Actions secrets configured for CI #126), never in repo.
  • OpenAPI documented; one real repo ingested end-to-end on dev and queryable via chat.

Sub-Tasks

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requeststoryteam:backendBackend team (sprintstart-backend, Kotlin/Spring Boot)

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions