Skip to content
A Singer tap for extracting data from the GitHub API
Python
Branch: master
Clone or download
Latest commit 47fafdc May 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tap_github add in PR labels fields (#62) May 16, 2019
.gitignore init Mar 1, 2017
CHANGELOG.md bump to 1.4.0 Feb 21, 2019
LICENSE init Mar 1, 2017
MANIFEST.in add newline Apr 4, 2018
README.md Add note about multiple repositories Nov 27, 2018
config.sample.json init Mar 1, 2017
setup.py Bump to v1.5.0 May 16, 2019
tap_github.py Load GitHub's Releases (#53) Feb 21, 2019

README.md

tap-github

This is a Singer tap that produces JSON-formatted data from the GitHub API following the Singer spec.

This tap:

Quick start

  1. Install

    We recommend using a virtualenv:

    > virtualenv -p python3 venv
    > source venv/bin/activate
    > pip install tap-github
  2. Create a GitHub access token

    Login to your GitHub account, go to the Personal Access Tokens settings page, and generate a new token with at least the repo scope. Save this access token, you'll need it for the next step.

  3. Create the config file

    Create a JSON file containing the access token you just created and the path to one or multiple repositories that you want to extract data from. Each repo path should be space delimited. The repo path is relative to https://github.com/. For example the path for this repository is singer-io/tap-github.

    {"access_token": "your-access-token",
     "repository": "singer-io/tap-github singer-io/getting-started"}
  4. Run the tap in discovery mode to get properties.json file

    tap-github --config config.json --discover > properties.json
  5. In the properties.json file, select the streams to sync

    Each stream in the properties.json file has a "schema" entry. To select a stream to sync, add "selected": true to that stream's "schema" entry. For example, to sync the pull_requests stream:

    ...
    "tap_stream_id": "pull_requests",
    "schema": {
      "selected": true,
      "properties": {
        "updated_at": {
          "format": "date-time",
          "type": [
            "null",
            "string"
          ]
        }
    ...
    
  6. Run the application

    tap-github can be run with:

    tap-github --config config.json --properties properties.json

Copyright © 2018 Stitch

You can’t perform that action at this time.