1
0
mirror of synced 2025-12-25 11:06:55 -05:00
Files
airbyte/airbyte-integrations/connectors/source-github/source_github/spec.json
Yevhenii 2ddf0bcf65 🐛 Source Github: add custom pagination size for large streams (#9664)
* Source Github: add custom pagination size for large streams
2022-01-21 15:22:16 +02:00

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"]]
}
}
}