OxagenDocs
Connections

Connect GitHub

Authorize Oxagen to read your repositories and ingest source code, pull requests, issues, and releases into your knowledge graph.

Three branches merging into a knowledge-graph node

Overview

The GitHub connection lets Oxagen read your repositories and ingest their contents — source files, pull requests, issues, commits, and releases — into your workspace knowledge graph. Once connected, your agents can answer questions and reason over your codebase with RBAC-scoped context.

Oxagen connects through a GitHub App using read-only access. It never writes to your repositories, and you choose exactly which repositories it can see.

What Oxagen reads

DataGitHub permissionAccess
Source files (the repo tree + file contents)ContentsRead-only
Repository metadata (name, default branch, language)MetadataRead-only
Pull requestsPull requestsRead-only
Issues and commentsIssuesRead-only

Oxagen requests read-only access only. It cannot push code, open pull requests, change settings, or delete anything.

Before you start

  • You need a workspace in Oxagen and permission to add connections to it.
  • You need to be able to install a GitHub App on the GitHub account or organization that owns the repositories — that usually means you are an owner or admin of that GitHub org, or it is your personal account.

Connect a repository

  1. In Oxagen, open your workspace and go to Knowledge → Sources.
  2. Click Add source and choose GitHub.
  3. Click Authorize GitHub. You'll be sent to GitHub to sign in and approve access.
  4. On GitHub, choose where to install the Oxagen app:
    • Pick the account or organization that owns the repositories.
    • Choose All repositories or Only select repositories — selecting only the repos you want to ingest is recommended.
    • Review the read-only permissions and click Install & Authorize.
  5. GitHub returns you to Oxagen. You'll see the installations available to you.
  6. Pick an installation, then select the repository you want to ingest.
  7. Click Connect. Oxagen activates the connection and starts the initial sync.

What happens during the initial sync

When you connect a repository, Oxagen performs a first pass over its default branch:

  • It reads the repository file tree and pulls in source files.
  • Each file and entity is added to your workspace knowledge graph with embeddings so your agents can search and reason over it.
  • Larger repositories are processed in batches. The sync runs in the background — you can leave the page and come back.

The connection's status moves to Connected once the sync has started. You can re-run a sync at any time from the source's settings.

Staying up to date automatically

After the initial sync, Oxagen keeps your knowledge graph current as your repository changes — new commits, pull requests, issues, comments, and releases are ingested automatically as they happen, with no action required. Records are added for the activity types your workspace has chosen to ingest; you can also trigger a manual Re-sync at any time.

The initial sync focuses on common source-code file types and skips generated/vendor directories (for example node_modules, dist, and .git). If you need a different file scope for your repository, contact support.

Managing the connection

  • Add or remove repositories: change which repositories the Oxagen app can access from GitHub → Settings → Applications → Installed GitHub Apps → Oxagen → Configure. Then reconnect or re-sync in Oxagen to pick up the change.
  • Re-sync: open the source in Knowledge → Sources and choose Re-sync to refresh the ingested content.
  • Disconnect: remove the source in Oxagen, and optionally uninstall the Oxagen app from your GitHub account to revoke access entirely.

Security

  • Access is granted through a GitHub App with read-only permissions you can review before installing.
  • Your authorization tokens are encrypted at rest and scoped to your organization and workspace.
  • Oxagen only ever sees the repositories you explicitly grant it.
  • Revoke access at any time by uninstalling the Oxagen app from GitHub, or by removing the source in Oxagen.

Troubleshooting

ProblemWhat to do
"GitHub App is not configured" (HTTP 503) / authorization won't startGITHUB_APP_SLUG or GITHUB_APP_INSTALL_STATE_SECRET is absent from the deployment environment — contact your Oxagen admin.
No installations appear after authorizingMake sure you completed the Install & Authorize step on GitHub for the account that owns your repos.
A repository is missing from the listThe Oxagen app may not have access to it. On GitHub, open the Oxagen app's configuration and add the repository, then return to Oxagen.
Sync seems stuckLarge repositories take longer. If it doesn't progress, re-run the sync from the source settings or contact support.

On this page