AutoIDM / tap-clickup

tap-clickup , singer compliant tap for pulling clickup data
MIT License
12 stars 19 forks source link

tap-clickup

PyPI Version Python Versions PyPI download month Build and Tests

tap-clickup is a Singer tap for ClickUp. Tap was created by AutoIDM only because multiple community members came together to get this tap created. Check AutoIDM out for tap/target creation, maintenace, support, and more!

AutoIDM

Sponsors

This tap is only available due to the amazing folks who pitched together to make this happen.

trek10

Note that some sponsors may not be listed here.

Want to become a sponsor? Reach out to us at autoidm.com

Capabilities

Settings

Setting Required Default Description
api_token True None Example: 'pk_12345
stream_maps False None Config object for stream maps capability.
stream_map_config False None User-defined config values to be used within map expressions.
flattening_enabled False None 'True' to enable schema flattening and automatically expand nested properties.
flattening_max_depth False None The max depth to flatten schemas.

A full list of supported settings and capabilities is available by running: tap-clickup --about

Getting an API Token

  1. Login at https://app.clickup.com/
  2. Click your icon at the bottom left of the screen
  3. Click My Settings
  4. Click Apps (Bottom leftish of screen under the My Apps sub section)
  5. At the top of the screen is an API Token. This can be used in the api_token location.
    • This is a personal token, it's fine to use a personal token as this tap is only for the business that's using the data.

Clickup Table Schemas

Note that the most up to date information is located in tap_clickup/streams.py. We will try to keep these docs updated

Teams

Spaces

Time Entries

Folders

Folder Lists

Folderless Lists

Task Templates

Goals

Tags

Shared Hierarchy

Custom Fields from Folderless Lists

Custom Field from Folder Lists

Tasks

Other Info

Installation

pipx install tap-clickup

Usage

You can easily run tap-clickup by itself or in a pipeline using Meltano.

Executing the Tap Directly

tap-clickup --version
tap-clickup --help
tap-clickup --config CONFIG --discover > ./catalog.json

Developer Resources

Schema Debugging

We are waiting on https://gitlab.com/meltano/sdk/-/issues/299 to get fixed as we make usage of refs in our json schema. Until then we parse the schemas in client.py

Sometimes it's useful to debug how the refs are being resolved. To do that there's a script inside of ./schema-parser , README in that directory describes how to run the parser

Not worry about making this super fool proof as we expect the SDK to release some kind of fix for this

Initialize your Development Environment

pipx install poetry
poetry install

Create and Run Tests

Create tests within the tap_clickup/tests subfolder and then run:

poetry run pytest

You can also test the tap-clickup CLI interface directly using poetry run:

poetry run tap-clickup --help

Testing with Meltano

_Note: This tap will work in any Singer environment and does not require Meltano.

Install Meltano (if you haven't already) and any needed plugins:

# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-clickup
meltano install

Now you can test and orchestrate using Meltano:

# Test invocation:
meltano invoke tap-clickup --version
# OR run a test `elt` pipeline:
meltano elt tap-clickup target-jsonl

SDK

Built with the Meltano SDK for Singer Taps and Targets.