The tap-github extractor pulls data from GitHub that can then be sent to a destination using a loader.
Alternate Implementations
- Airbyte 🥈
- Meltano (default)🥇
- Stitch Data 🥈
Getting Started
Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
Installation and configuration
-
Add the tap-github extractor to your
project using
:meltano add
-
Configure the tap-github
settings using
:meltano config
-
Test that extractor settings are valid using
:meltano config
meltano add extractor tap-github
meltano config tap-github set --interactive
meltano config tap-github test
Next steps
Follow the remaining steps of the Getting Started guide:
If you run into any issues, learn how to get help.
Capabilities
The current capabilities for
tap-github
may have been automatically set when originally added to the Hub. Please review the
capabilities when using this extractor. If you find they are out of date, please
consider updating them by making a pull request to the YAML file that defines the
capabilities for this extractor.
This plugin has the following capabilities:
- about
- batch
- catalog
- discover
- schema-flattening
- state
- stream-maps
You can
override these capabilities or specify additional ones
in your meltano.yml
by adding the capabilities
key.
Settings
The
tap-github
settings that are known to Meltano are documented below. To quickly
find the setting you're looking for, click on any setting name from the list:
additional_auth_tokens
auth_app_keys
auth_token
expiry_time_buffer
metrics_log_level
organizations
rate_limit_buffer
repositories
searches
skip_parent_streams
start_date
user_agent
user_ids
user_usernames
You can also list these settings using
with the meltano config
list
subcommand:
meltano config tap-github list
You can
override these settings or specify additional ones
in your meltano.yml
by adding the settings
key.
Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.
Additional Auth Tokens (additional_auth_tokens)
-
Environment variable:
TAP_GITHUB_ADDITIONAL_AUTH_TOKENS
List of GitHub tokens to authenticate with. Streams will loop through them when hitting rate limits.
Configure this setting directly using the following Meltano command:
meltano config tap-github set additional_auth_tokens [value]
Auth App Keys (auth_app_keys)
-
Environment variable:
TAP_GITHUB_AUTH_APP_KEYS
List of GitHub App credentials to authenticate with. Each credential can be constructed by combining an App ID and App private key into the format :app_id:;;-----BEGIN RSA PRIVATE KEY----- _YOUR_P_KEY_ -----END RSA PRIVATE KEY-----
.
Configure this setting directly using the following Meltano command:
meltano config tap-github set auth_app_keys [value]
Auth Token (auth_token)
-
Environment variable:
TAP_GITHUB_AUTH_TOKEN
GitHub token to authenticate with.
Configure this setting directly using the following Meltano command:
meltano config tap-github set auth_token [value]
Expiry Time Buffer (expiry_time_buffer)
-
Environment variable:
TAP_GITHUB_EXPIRY_TIME_BUFFER
Configure this setting directly using the following Meltano command:
meltano config tap-github set expiry_time_buffer [value]
Metrics Log Level (metrics_log_level)
-
Environment variable:
TAP_GITHUB_METRICS_LOG_LEVEL
The log level of the API response metrics.
Configure this setting directly using the following Meltano command:
meltano config tap-github set metrics_log_level [value]
Organizations (organizations)
-
Environment variable:
TAP_GITHUB_ORGANIZATIONS
An array of strings containing the github organizations to be included
Configure this setting directly using the following Meltano command:
meltano config tap-github set organizations [value]
Rate Limit Buffer (rate_limit_buffer)
-
Environment variable:
TAP_GITHUB_RATE_LIMIT_BUFFER
Add a buffer to avoid consuming all query points for the token at hand. Defaults to 1000.
Configure this setting directly using the following Meltano command:
meltano config tap-github set rate_limit_buffer [value]
Repositories (repositories)
-
Environment variable:
TAP_GITHUB_REPOSITORIES
An array of strings containing the github repos to be included
Configure this setting directly using the following Meltano command:
meltano config tap-github set repositories [value]
Searches (searches)
-
Environment variable:
TAP_GITHUB_SEARCHES
An array of search descriptor objects with the following properties. "name" - a human readable name for the search query. "query" - a github search string (generally the same as would come after ?q= in the URL)
Configure this setting directly using the following Meltano command:
meltano config tap-github set searches [value]
Skip Parent Streams (skip_parent_streams)
-
Environment variable:
TAP_GITHUB_SKIP_PARENT_STREAMS
Set to true to skip API calls for the parent streams (such as repositories) if it is not selected but children are
Configure this setting directly using the following Meltano command:
meltano config tap-github set skip_parent_streams [value]
Start Date (start_date)
-
Environment variable:
TAP_GITHUB_START_DATE
Configure this setting directly using the following Meltano command:
meltano config tap-github set start_date [value]
User Agent (user_agent)
-
Environment variable:
TAP_GITHUB_USER_AGENT
Configure this setting directly using the following Meltano command:
meltano config tap-github set user_agent [value]
User IDs (user_ids)
-
Environment variable:
TAP_GITHUB_USER_IDS
A list of GitHub user ids.
Configure this setting directly using the following Meltano command:
meltano config tap-github set user_ids [value]
User Usernames (user_usernames)
-
Environment variable:
TAP_GITHUB_USER_USERNAMES
A list of GithHub usernames.
Configure this setting directly using the following Meltano command:
meltano config tap-github set user_usernames [value]
Expand To Show SDK Settings
Batch Config Encoding Compression (batch_config.encoding.compression)
-
Environment variable:
TAP_GITHUB_BATCH_CONFIG_ENCODING_COMPRESSION
Compression format to use for batch files.
Configure this setting directly using the following Meltano command:
meltano config tap-github set batch_config encoding.compression [value]
Batch Config Encoding Format (batch_config.encoding.format)
-
Environment variable:
TAP_GITHUB_BATCH_CONFIG_ENCODING_FORMAT
Format to use for batch files.
Configure this setting directly using the following Meltano command:
meltano config tap-github set batch_config encoding.format [value]
Batch Config Storage Prefix (batch_config.storage.prefix)
-
Environment variable:
TAP_GITHUB_BATCH_CONFIG_STORAGE_PREFIX
Prefix to use when writing batch files.
Configure this setting directly using the following Meltano command:
meltano config tap-github set batch_config storage.prefix [value]
Batch Config Storage Root (batch_config.storage.root)
-
Environment variable:
TAP_GITHUB_BATCH_CONFIG_STORAGE_ROOT
Root path to use when writing batch files.
Configure this setting directly using the following Meltano command:
meltano config tap-github set batch_config storage.root [value]
Flattening Enabled (flattening_enabled)
-
Environment variable:
TAP_GITHUB_FLATTENING_ENABLED
'True' to enable schema flattening and automatically expand nested properties.
Configure this setting directly using the following Meltano command:
meltano config tap-github set flattening_enabled [value]
Flattening Max Depth (flattening_max_depth)
-
Environment variable:
TAP_GITHUB_FLATTENING_MAX_DEPTH
The max depth to flatten schemas.
Configure this setting directly using the following Meltano command:
meltano config tap-github set flattening_max_depth [value]
Stream Map Config (stream_map_config)
-
Environment variable:
TAP_GITHUB_STREAM_MAP_CONFIG
Configure this setting directly using the following Meltano command:
meltano config tap-github set stream_map_config [value]
Stream Maps (stream_maps)
-
Environment variable:
TAP_GITHUB_STREAM_MAPS
Configure this setting directly using the following Meltano command:
meltano config tap-github set stream_maps [value]
Something missing?
This page is generated from a YAML file that you can contribute changes to.
Edit it on GitHub!Looking for help?
#plugins-general
channel.