{"sourceDefinitionId": "ef69ef6e-aa7f-4af1-a01d-ef775033524e", "name": "GitHub", "dockerRepository": "airbyte/source-github", "dockerImageTag": "2.1.15-preview.68f6045", "documentationUrl": "https://docs.airbyte.com/integrations/sources/github", "icon": "github.svg", "iconUrl": "https://connectors.airbyte.com/files/metadata/airbyte/source-github/latest/icon.svg", "sourceType": "api", "spec": {"connectionSpecification": {"$schema": "http://json-schema.org/draft-07/schema#", "title": "GitHub Source Spec", "type": "object", "required": ["credentials", "repositories"], "additionalProperties": true, "properties": {"credentials": {"title": "Authentication", "description": "Choose how to authenticate to GitHub", "type": "object", "order": 0, "group": "auth", "oneOf": [{"type": "object", "title": "OAuth", "required": ["access_token"], "properties": {"option_title": {"type": "string", "const": "OAuth Credentials", "order": 0}, "access_token": {"type": "string", "title": "Access Token", "description": "OAuth access token", "airbyte_secret": true}, "client_id": {"type": "string", "title": "Client Id", "description": "OAuth Client Id", "airbyte_secret": true}, "client_secret": {"type": "string", "title": "Client secret", "description": "OAuth Client secret", "airbyte_secret": true}}}, {"type": "object", "title": "Personal Access Token", "required": ["personal_access_token"], "properties": {"option_title": {"type": "string", "const": "PAT Credentials", "order": 0}, "personal_access_token": {"type": "string", "title": "Personal Access Tokens", "description": "Log into GitHub and then generate a personal access token. To load balance your API quota consumption across multiple API tokens, input multiple tokens separated with \",\"", "airbyte_secret": true}}}]}, "repository": {"type": "string", "examples": ["airbytehq/airbyte airbytehq/another-repo", "airbytehq/*", "airbytehq/airbyte"], "title": "GitHub Repositories", "description": "(DEPRCATED) Space-delimited list of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/airbyte airbytehq/another-repo` for multiple repositories.", "airbyte_hidden": true, "pattern": "^([\\w.-]+/(\\*|[\\w.-]+(?docs for more info", "examples": ["2021-03-01T00:00:00Z"], "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$", "pattern_descriptor": "YYYY-MM-DDTHH:mm:ssZ", "order": 2, "format": "date-time"}, "api_url": {"type": "string", "examples": ["https://github.com", "https://github.company.org"], "title": "API URL", "default": "https://api.github.com/", "description": "Please enter your basic URL from self-hosted GitHub instance or leave it empty to use GitHub.", "order": 3}, "branch": {"type": "string", "title": "Branch", "examples": ["airbytehq/airbyte/master airbytehq/airbyte/my-branch"], "description": "(DEPRCATED) Space-delimited list of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled.", "airbyte_hidden": true, "pattern_descriptor": "org/repo/branch1 org/repo/branch2"}, "branches": {"type": "array", "items": {"type": "string"}, "title": "Branches", "examples": ["airbytehq/airbyte/master", "airbytehq/airbyte/my-branch"], "description": "List of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled.", "order": 4, "pattern_descriptor": "org/repo/branch1 org/repo/branch2"}, "max_waiting_time": {"type": "integer", "title": "Max Waiting Time (in minutes)", "examples": [10, 30, 60], "default": 10, "minimum": 1, "maximum": 60, "description": "Max Waiting Time for rate limit. Set higher value to wait till rate limits will be resetted to continue sync", "order": 5}}}, "documentationUrl": "https://docs.airbyte.com/integrations/sources/github", "supportsNormalization": false, "supportsDBT": false, "advanced_auth": {"auth_flow_type": "oauth2.0", "predicate_key": ["credentials", "option_title"], "predicate_value": "OAuth Credentials", "oauth_config_specification": {"complete_oauth_output_specification": {"type": "object", "additionalProperties": false, "properties": {"access_token": {"type": "string", "path_in_connector_config": ["credentials", "access_token"]}}}, "complete_oauth_server_input_specification": {"type": "object", "additionalProperties": false, "properties": {"client_id": {"type": "string"}, "client_secret": {"type": "string"}}}, "complete_oauth_server_output_specification": {"type": "object", "additionalProperties": false, "properties": {"client_id": {"type": "string", "path_in_connector_config": ["credentials", "client_id"]}, "client_secret": {"type": "string", "path_in_connector_config": ["credentials", "client_secret"]}}}}}}, "tombstone": false, "public": true, "custom": false, "releaseStage": "generally_available", "supportLevel": "certified", "allowedHosts": {"hosts": ["${api_url}"]}, "suggestedStreams": {"streams": ["branches", "comments", "issues", "organizations", "pull_requests", "repositories", "stargazers", "tags", "teams", "users"]}, "maxSecondsBetweenMessages": 3600, "erdUrl": "https://dbdocs.io/airbyteio/source-github?view=relationships", "releases": {"rolloutConfiguration": {"enableProgressiveRollout": false, "initialPercentage": 0, "maxPercentage": 50, "advanceDelayMinutes": 10}, "breakingChanges": {"2.0.0": {"upgradeDeadline": "2025-11-21", "message": "This release renames reaction fields for compatibility across all destinations. The +1 and -1 fields have been renamed to plus_one and minus_one in streams containing reactions (comments, commit_comments, issue_events, issues, releases, review_comments). Users should refresh their source schema and reset affected streams after upgrading.", "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/github-migrations#2.0.0", "scopedImpact": [{"scopeType": "stream", "impactedScopes": ["comments", "commit_comments", "issue_events", "issues", "releases", "review_comments"]}]}}, "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/github-migrations"}, "ab_internal": {"sl": 300, "ql": 400, "isEnterprise": false, "requireVersionIncrementsInPullRequests": true}, "generated": {"git": {"commit_sha": "161ec95a28df40e18dad93faf48f9150f67ff20f", "commit_timestamp": "2026-03-12T11:45:39+00:00", "commit_author": "Devin AI", "commit_author_email": "158243242+devin-ai-integration[bot]@users.noreply.github.com"}, "source_file_info": {"metadata_file_path": "metadata/airbyte/source-github/2.1.15-preview.68f6045/metadata.yaml", "metadata_bucket_name": "prod-airbyte-cloud-connector-metadata-service", "metadata_last_modified": "2026-03-13T12:03:59.257000+00:00", "registry_entry_generated_at": "2026-03-13T12:05:17.405746"}, "sbomUrl": "https://connectors.airbyte.com/files/sbom/airbyte/source-github/2.1.15-preview.68f6045.spdx.json"}, "packageInfo": {"cdk_version": "python:7.10.1"}, "language": "python", "supportsFileTransfer": false, "supportsDataActivation": false, "tags": ["language:python", "cdk:python"], "remoteRegistries": {"pypi": {"enabled": true, "packageName": "airbyte-source-github"}}, "connectorBuildOptions": {"baseImage": "docker.io/airbyte/python-connector-base:4.1.0@sha256:1d1aa21d34e851df4e8a87b391c27724c06e2597608e7161f4d167be853bd7b6"}, "externalDocumentationUrls": [{"title": "Breaking changes", "type": "api_deprecations", "url": "https://docs.github.com/en/rest/about-the-rest-api/breaking-changes"}, {"title": "GitHub REST API reference", "type": "api_reference", "url": "https://docs.github.com/en/rest"}, {"title": "API Versions", "type": "api_release_history", "url": "https://docs.github.com/en/rest/about-the-rest-api/api-versions"}, {"title": "GitHub API changelog", "type": "api_release_history", "url": "https://github.blog/changelog/label/api/"}, {"title": "GitHub authentication", "type": "authentication_guide", "url": "https://docs.github.com/en/rest/overview/authenticating-to-the-rest-api"}, {"title": "GitHub REST API OpenAPI specification", "type": "openapi_spec", "url": "https://github.com/github/rest-api-description"}, {"title": "GitHub rate limits", "type": "rate_limits", "url": "https://docs.github.com/en/rest/overview/rate-limits-for-the-rest-api"}, {"title": "GitHub Status", "type": "status_page", "url": "https://www.githubstatus.com/"}], "connectorTestSuitesOptions": [{"suite": "liveTests", "testConnections": [{"id": "00d7a7eb-9922-4463-9d9d-fac37438bc12", "name": "github_config_dev_null"}, {"id": "65c98c6e-c8e5-4ff4-a822-32b79d10468b", "name": "github_config_oauth_dev_null"}]}, {"suite": "unitTests"}, {"suite": "acceptanceTests", "testSecrets": [{"fileName": "config.json", "name": "SECRET_SOURCE-GITHUB_CREDS", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}, {"fileName": "config_oauth.json", "name": "SECRET_SOURCE-GITHUB_OAUTH_CREDS", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}]}], "githubIssueLabel": "source-github", "license": "ELv2"}