Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
pipelinewise-tap-github
Advanced tools
Singer tap that produces JSON-formatted data from the GitHub API following the Singer spec.
This is a PipelineWise compatible tap connector.
This tap:
Install
We recommend using a virtualenv:
python3 -m venv venv
. venv/bin/activate
pip install --upgrade pip
pip install .
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.
Create the config file
Create a JSON file containing the required fields and/or the optional ones. You can decide between allow-list or deny-list strategy combining organization with repos_include and repos_exclude using wildcards.
Config | Required? | Description |
---|---|---|
access_token | yes | The access token to access github api |
start_date | yes | The date inclusive to start extracting the data |
organization | no | The organization you want to extract the data from |
repos_include | no | Allow list strategy to extract selected repos data from organization. Supports wildcard matching |
repos_exclude | no | Deny list to extract all repos from organization except the ones listed. Supports wildcard matching |
include_archived | no | true/false to include archived repos. Default false |
include_disabled | no | true/false to include disabled repos. Default false |
repository | no | (DEPRECATED) Allow list strategy to extract selected repos data from organization(has priority over repos_exclude) |
max_rate_limit_wait_seconds | no | Max time to wait if you hit the github api limit. DEFAULT to 600s |
Example:
{
"access_token": "ghp_16C7e42F292c6912E7710c838347Ae178B4a",
"organization": "singer-io",
"repos_exclude": "*tests* api-docs",
"repos_include": "tap* getting-started pipelinewise-github",
"start_date": "2021-01-01T00:00:00Z",
"include_archived": false,
"include_disabled": false,
"max_rate_limit_wait_seconds": 800
}
You can also pass
singer-io/tap-github another-org/tap-octopus
onrepos_include
.
For retro compatibility you can pass
repository: "singer-io/tap-github singer-io/getting-started"
:warning: If you have very small repos with total size less than 0.5KB: These will currently be excluded, as the Github repositories API returns
size: 0
for these, andtap_github/__init__.py
currently usessize <= 0
as a way to filter out repos with no commits.
Run the tap in discovery mode to get properties.json file
tap-github --config config.json --discover > properties.json
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"
]
}
...
Run the application
tap-github
can be run with:
tap-github --config config.json --properties properties.json
python3 -m venv venv
. venv/bin/activate
pip install --upgrade pip
pip install -e .[test]
pytest tests/unittests
FAQs
Singer.io tap for extracting data from the GitHub API
We found that pipelinewise-tap-github demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.