GitHub

tap-github (meltanolabs variant)🥇

Code hosting platform

The tap-github extractor pulls data from GitHub that can then be sent to a destination using a loader.

Alternate Implementations

Getting Started

Prerequisites

If you haven't already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

Installation and configuration

  1. Add the tap-github extractor to your project using
    meltano add
    :
  2. meltano add extractor tap-github
  3. Configure the tap-github settings using
    meltano config
    :
  4. meltano config tap-github set --interactive
  5. Test that extractor settings are valid using
    meltano config
    :
  6. meltano config tap-github test

Next steps

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:

You can also list these settings using

meltano config
with the 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
[No description provided.]

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
[No description provided.]

Configure this setting directly using the following Meltano command:

meltano config tap-github set start_date [value]

Stream Options Milestones State (stream_options.milestones.state)

  • Environment variable: TAP_GITHUB_STREAM_OPTIONS_MILESTONES_STATE
  • Default Value: open

Configures which states are of interest. Must be one of [open, closed, all], defaults to open.


Configure this setting directly using the following Meltano command:

meltano config tap-github set stream_options milestones.state [value]

User Agent (user_agent)

  • Environment variable: TAP_GITHUB_USER_AGENT
[No description provided.]

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
[No description provided.]

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
[No description provided.]

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?

If you're having trouble getting the tap-github extractor to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the
#plugins-general
channel.

Install

meltano add extractor tap-github

Maintenance Status

  • Maintenance Status
  • Built with the Meltano SDK

Repo

https://github.com/MeltanoLabs/tap-github
  • Stars
  • Forks
  • Last Commit Date
  • Open Issues
  • Open PRs
  • Contributors
  • License

Maintainer

  • Meltano

Meltano Stats

  • Total Executions (Last 3 Months)
  • Projects (Last 3 Months)

Keywords

  • apifree servicemeltano_sdk