{ "documentationUrl": "https://docs.airbyte.io/integrations/sources/github", "connectionSpecification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "Github Source Spec", "type": "object", "required": ["start_date", "repository"], "additionalProperties": true, "properties": { "credentials": { "title": "Authentication mechanism", "description": "Choose how to authenticate to Github", "type": "object", "oneOf": [ { "type": "object", "title": "Authenticate via Github (Oauth)", "required": ["access_token"], "properties": { "option_title": { "type": "string", "title": "Credentials title", "description": "OAuth Credentials", "const": "OAuth Credentials" }, "access_token": { "type": "string", "title": "Access Token", "description": "Oauth access token", "airbyte_secret": true } } }, { "type": "object", "title": "Authenticate with Personal Access Token", "required": ["personal_access_token"], "properties": { "option_title": { "type": "string", "title": "Credentials title", "description": "PAT Credentials", "const": "PAT Credentials" }, "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/*"], "title": "Github repositories", "description": "Space-delimited list of GitHub repositories/organizations, e.g. `airbytehq/airbyte` for single repository and `airbytehq/*` for get all repositories from organization" }, "start_date": { "type": "string", "title": "Start date", "description": "The date from which you'd like to replicate data for GitHub in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. Note that it will be used only in the following incremental streams: comments, commits and issues.", "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$" }, "branch": { "type": "string", "title": "Branch", "examples": ["airbytehq/airbyte/master"], "description": "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." } } }, "authSpecification": { "auth_type": "oauth2.0", "oauth2Specification": { "rootObject": ["credentials", 0], "oauthFlowInitParameters": [], "oauthFlowOutputParameters": [["access_token"]] } } }