Back to source plugin
Export from GitHub to Snowflake
CloudQuery is an open-source data integration platform that allows you to export data from any source to any destination.
The CloudQuery GitHub plugin allows you to sync data from GitHub to any destination, including Snowflake. It takes only minutes to get started.
GitHub
v8.2.1
Official
GitHub
The CloudQuery GitHub plugin extracts your GitHub API and loads it into any supported CloudQuery destination
Publisher
cloudquery
Repositorygithub.com
Latest version
v8.2.1
Type
Source
Platforms
Date Published
Mar 26, 2024
Snowflake
v3.5.0
Official
Snowflake
This plugin is in preview.
The snowflake plugin helps you sync data to your Snowflake data warehouse
Publisher
cloudquery
Repositorygithub.com
Latest version
v3.5.0
Type
Destination
Platforms
Date Published
Mar 26, 2024
Table of Contents
MacOS Setup
Step 1. Install CloudQuery
brew install cloudquery/tap/cloudquery
Step 2. Configure GitHub source plugin
You can find more information about the configuration in the plugin documentation
kind: source
spec:
# Source spec section
name: github
path: cloudquery/github
registry: cloudquery
version: "v8.2.1"
tables: ["github_issues"]
destinations: ["snowflake"]
spec:
access_token: "${GITHUB_PERSONAL_ACCESS_TOKEN}" # Personal Access Token, required if not using App Authentication.
# # App Authentication (one per org):
# app_auth:
# - org: cloudquery
# private_key: <PRIVATE_KEY> # Private key as a string
# private_key_path: <PATH_TO_PRIVATE_KEY> # Path to private key file
# app_id: <YOUR_APP_ID> # App ID, required for App Authentication.
# installation_id: <ORG_INSTALLATION_ID> # Installation ID for this org
# # List of organizations to sync from. You must specify either orgs or repos in the configuration.
# orgs: []
# # List of repositories to sync from. The format is `owner/repo` (e.g. `cloudquery/cloudquery`). You must specify either `orgs` or `repos` in the configuration.
# repos: ["cloudquery/cloudquery"]
# # GitHub Enterprise
# # In order to enable GHE you have to provide two urls, the base url of the server and the upload url.
# # Quote from GitHub's client:
# # If the base URL does not have the suffix "/api/v3/", it will be added automatically. If the upload URL does not have the suffix "/api/uploads", it will be added automatically.
# # Another important thing is that by default, the GitHub Enterprise URL format should be http(s)://[hostname]/api/v3/ or you will always receive the 406 status code. The upload URL format should be http(s)://[hostname]/api/uploads/"
# # If you are not configuring against an enterprise server please omit the enterprise configuration bellow
# enterprise:
# base_url: "http(s)://[your-ghe-hostname]/api/v3/"
# upload_url: "http(s)://[your-ghe-hostname]/api/uploads/"
# # Optional parameters
# concurrency: 10000 # Optional. Number of concurrent requests to GitHub API. Default is 10000.
# discovery_concurrency: 1 # Optional. Number of concurrent requests to GitHub API during discovery phase. Default 1.
# skip_archived_repos: false # Optional. Skip archived repositories. Default false.
Step 3. Configure Snowflake destination plugin
You can find more information about the configuration in the plugin documentation
kind: destination
spec:
name: snowflake
path: cloudquery/snowflake
registry: cloudquery
version: "v3.5.0"
write_mode: "append"
spec:
connection_string: "${SNOWFLAKE_CONNECTION_STRING}"
# Optional parameters
# migrate_concurrency: 1
# batch_size: 1000 # 1K entries
# batch_size_bytes: 4194304 # 4 MiB
Step 4. Run Sync
cloudquery sync github.yml snowflake.yml