The GitHub data source is separate from the GitHub App integration used to
version pipeline configuration. Connecting one does not authorize the other.
Supported resources
The source catalog advertises 12 resources:
Every root row includes repository identity fields so records remain
traceable to the configured repository.
A legacy incremental
repo_events resource is retained only for previously
saved pipelines. It is not offered for new stream selection because GitHub
exposes only a limited recent event window and may create tables dynamically
by event type. It is not change data capture or a historical audit log.
Before you begin
You need:- the GitHub account or organization name that owns the repository;
- the repository name;
- a Personal Access Token owned by a user who can read that repository; and
- permission to create source connections in the MantrixFlow workspace.
repo scope. Public-only access can use a narrower token where GitHub
allows it.
Fine-grained Personal Access Tokens can work for REST resources when their
repository access and endpoint permissions are sufficient, but coverage varies
by resource. Classic PAT is the supported contract for the GraphQL issue,
pull-request, stargazer, comment, and reaction data.
Create the source connection
- Open Connections in your MantrixFlow workspace.
- Click + New Connection and choose Source.
- Select GitHub. The card is marked Source only and Available Now.
- Enter a descriptive connection name.
- Enter the repository owner, such as
octocat. - Enter the repository name, such as
Hello-World. - Paste the Personal Access Token.
- Click Test Connection.
- Save after the connection test succeeds.
Select and preview resources
- Create or open a pipeline that uses the GitHub connection.
- Open the Source tab.
- Discover the source catalog.
- Select the required GitHub resources.
- Preview representative records and review the detected fields.
- Keep Full Table selected for newly configured resources.
- Save the stream configuration.
Full Table behavior
All 12 advertised resources use Full Table extraction. Each successful run reads the complete API result visible to the token and replaces the selected staging resource before transformation. Full Table is appropriate for repository snapshots, but these API semantics still matter:- rewritten Git history and force pushes can change the commit snapshot;
- contributor rows are API summaries, not a canonical historical user table;
- release assets are metadata only and asset files are never downloaded; and
- the repository events endpoint exposes a limited recent window, commonly around 300 events.
Pagination and rate limits
MantrixFlow follows GitHub RESTLink headers and GraphQL opaque cursors until
the API reports no next page. Repeated links or cursors fail the run instead of
looping forever.
The connector applies bounded requests, pages, retries, runtime, and GraphQL
query cost. It honors GitHub primary reset headers and Retry-After responses,
and uses bounded backoff for secondary limits. A GraphQL response containing
errors fails the resource even when GitHub returns HTTP 200; partial data is
not reported as complete.
Root issue, pull-request, and stargazer pagination is complete. Nested comments,
reactions, labels, and assignees are currently limited to the first 100 items
per parent.
Transform GitHub data
Use the exact staging relation shown by discovery. For example:Credential security
- The PAT is encrypted when saved and masked when returned to the browser.
- Leaving the masked value unchanged while editing preserves the stored token.
- Tokens are sent only in authorization headers to fixed HTTPS GitHub.com API endpoints; they are never placed in request URLs.
- Connector errors and metrics exclude token values and repository content.
- Rotate or revoke the PAT in GitHub, then re-test the connection in MantrixFlow after updating it.
Current limitations
- One GitHub.com repository per connection.
- Personal Access Token authentication only; GitHub App authentication is a separate integration and is not reused by this source.
- Full Table only for newly selected resources; no advertised CDC.
- Nested GraphQL connections are limited to 100 rows per parent.
- Repository discovery exists in the connector runtime, but the current form still uses explicit owner and repository fields.
- GitHub Enterprise Server, anonymous extraction, conditional requests, and multi-repository extraction are not enabled.
- Manual UI validation and live source-to-every-destination validation remain pending owner checks; verify destination row counts for each deployment.
Troubleshooting
For connection-wide behavior, see Connections Overview.