135 lines
5.0 KiB
JSON
135 lines
5.0 KiB
JSON
{
|
|
"documentationUrl": "https://docs.airbyte.com/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 *",
|
|
"description": "Choose how to authenticate to GitHub",
|
|
"type": "object",
|
|
"order": 0,
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"title": "Authenticate via GitHub (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
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "object",
|
|
"title": "Authenticate with 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 <a href=\"https://github.com/settings/tokens\"> personal access token</a>. To load balance your API quota consumption across multiple API tokens, input multiple tokens separated with \",\"",
|
|
"airbyte_secret": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"start_date": {
|
|
"type": "string",
|
|
"title": "Start Date",
|
|
"description": "The date from which you'd like to replicate data from GitHub in the format YYYY-MM-DDT00:00:00Z. For the streams which support this configuration, only data generated on or after the start date will be replicated. This field doesn't apply to all streams, see the <a href=\"https://docs.airbyte.com/integrations/sources/github\">docs</a> 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$",
|
|
"order": 1
|
|
},
|
|
"repository": {
|
|
"type": "string",
|
|
"examples": [
|
|
"airbytehq/airbyte airbytehq/another-repo",
|
|
"airbytehq/*",
|
|
"airbytehq/airbyte"
|
|
],
|
|
"title": "GitHub Repositories",
|
|
"description": "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.",
|
|
"order": 2
|
|
},
|
|
"branch": {
|
|
"type": "string",
|
|
"title": "Branch (Optional)",
|
|
"examples": ["airbytehq/airbyte/master airbytehq/airbyte/my-branch"],
|
|
"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.",
|
|
"order": 3
|
|
},
|
|
"page_size_for_large_streams": {
|
|
"type": "integer",
|
|
"title": "Page size for large streams (Optional)",
|
|
"minimum": 1,
|
|
"maximum": 100,
|
|
"default": 10,
|
|
"description": "The Github connector contains several streams with a large load. The page size of such streams depends on the size of your repository. Recommended to specify values between 10 and 30.",
|
|
"order": 4
|
|
}
|
|
}
|
|
},
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|