Skip to content

edgarrmondragon/tap-bitly

Repository files navigation

tap-bitly

Singer tap for Bitly. Built with the Meltano Singer SDK.

Capabilities

  • catalog
  • state
  • discover
  • about
  • stream-maps
  • schema-flattening

Settings

Setting Required Default Description
token True None API Token for Bitly
include_paid_streams False False Whether to sync paid streams
start_date False None Earliest datetime to get data from
stream_maps False None Config object for stream maps capability. For more information check out Stream Maps.
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.

Supported Streams

Stream Name Endpoint Notes
groups /v4/groups
bitlinks /v4/groups/{group_guid}/bitlinks
bsds /v4/bsds
campaigns /v4/campaigns
channels /v4/channels
organizations /v4/organizations
webhooks /v4/organizations/{organization_guid}/webhooks Requires paid account
daily_bitlink_clicks /v4/bitlinks/{bitlink}/clicks
monthly_bitlink_clicks /v4/bitlinks/{bitlink}/clicks

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

Source Authentication and Authorization

Generate an access token from the Bitly API Console.

Usage

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

Executing the Tap Directly

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

Developer Resources

Initialize your Development Environment

pipx install hatch

Create and Run Tests

Run integration tests:

hatch run test:integration

You can also test the tap-bitly CLI interface directly:

hatch run sync:console -- --about --format=json

Testing with Meltano

Note: This tap will work in any Singer environment and does not require Meltano. Examples here are for convenience and to streamline end-to-end orchestration scenarios.

Your project comes with a custom meltano.yml project file already created. Go ahead and install Meltano if you haven't already.

  1. Install all plugins

    meltano install
  2. Check that the extractor is working properly

    meltano invoke tap-bitly --version
  3. Execute an ELT pipeline

    meltano run tap-bitly target-jsonl

SDK Dev Guide

See the dev guide for more instructions on how to use the SDK to develop your own taps and targets.