93 lines
3.8 KiB
JSON
93 lines
3.8 KiB
JSON
{
|
|
"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 <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
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"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."
|
|
},
|
|
"page_size_for_large_streams": {
|
|
"type": "integer",
|
|
"title": "Page size for large streams",
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"authSpecification": {
|
|
"auth_type": "oauth2.0",
|
|
"oauth2Specification": {
|
|
"rootObject": ["credentials", 0],
|
|
"oauthFlowInitParameters": [],
|
|
"oauthFlowOutputParameters": [["access_token"]]
|
|
}
|
|
}
|
|
}
|