Skip to main content
Use the GitHub Connector to ingest repository files and optionally issues from a GitHub repository into the mAItion knowledge base.

What It Does

  • fetches files from a GitHub repository at a given branch or commit
  • optionally fetches repository issues, with label filtering
  • converts file and issue content to Markdown for indexing
  • runs ingestion on configurable schedules

Authentication

Two authentication methods are supported (mutually exclusive):
  • Personal Access Token (personal_token): a GitHub PAT with access to the target repository.
  • GitHub App (github_app_id + github_app_installation_id + github_app_private_key): all three fields are required together when using GitHub App authentication.
Minimum permissions:
  • Repository contents: read — required for both PAT and GitHub App auth, to fetch repository files.
  • Issues: read — required in addition to the above when include_issues is true.
  • For GitHub App auth, the app installation must include the target repository.

Environment Variables

Set these in .env.rag:
  • GITHUB1_OWNER (required): repository owner or organization
  • GITHUB1_REPO (required): repository name
  • GITHUB1_PERSONAL_TOKEN (required, unless using GitHub App auth): GitHub Personal Access Token
  • GITHUB1_APP_ID, GITHUB1_APP_INSTALLATION_ID, GITHUB1_APP_PRIVATE_KEY (required together, alternative to GITHUB1_PERSONAL_TOKEN): GitHub App credentials
  • GITHUB1_SCHEDULES (optional): ingestion interval in seconds (default is 3600)

config.yaml Example

.env.rag Example

Configuration Reference

Multiple GitHub Sources

Add more sources entries (github2, github3, etc) with separate env vars per source.