Skip to content

AutoIDM/autoidm-tap-bamboohr

Repository files navigation

tap-bamboohr

Tap was created by AutoIDM. Check us out for tap/target creation, maintenace, support, and more!

Capabilities

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

Settings

Setting Required Default Description
auth_token True None Token gathered from BambooHR, instructions are here
subdomain True None subdomain from BambooHR
field_mismatch True fail Either fail or ignore. Determines behavior when fields returned by API don't match fields specified in tap config.
photo_size True original Size of photos to return from the photos stream. Pixel size information can be found in the docs
custom_reports False None CustomReport full body definition, example in meltano.yml, same format as the Body for the POST request here
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.
batch_config False None

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

Getting Started

```bash
pipx install poetry
poetry install
```
```bash
poetry run tap-bamboohr --help
```
```bash
poetry run pytest
```

Singer SDK Dev Guide

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

Config Guide

Selecting Additional Fields in a Custom Report

To select additional fields in a custom report, pass in a manually modified catalog using a command like meltano elt tap-bamboohr target-jsonl --catalog=catalog.json. The catalog.json file should be modified such that the field you want to include is marked as available and selected. For example, to add the zipcode field to the set of selected fields, change its breadcrumb to the following:

{
    "breadcrumb": [
        "properties",
        "zipcode"
    ],
    "metadata": {
        "inclusion": "available",
        "selected": true
    }
}

You can also modify meltano.yml by adding metadata, accomplishing the same thing.

    metadata:
      "CUSTOM REPORT NAME":
        "customFIELDNAME":
          "inclusion": "available"
          "selected": true

Alternatively, to modify the tap and permanently add a field to the default set of selected fields, add its name to tap_bamboohr/selected_fields.json. Or, if the field exists but is undocumented or not returned by /meta/fields, add its name and data type to tap_bamboohr/merge_fields.json to have it be merged into the default catalog (but not necessarily selected by default).

Syncing Photos

Because the photos stream can significantly slow down the time it takes for a sync to complete, the photos stream has been deselected by default. Furthermore, because of meltano/meltano#2511, this requires that the stream also be marked as UNSUPPORTED by default. That means that if you wish to sync the photos stream, you must modify the tap's metadata, similarly to selecting additional fields in a custom report.

For example, you could modify the catalog.json file, changing the breadcrumb for the photos stream to be:

{
    "breadcrumb": [],
    "metadata": {
        "inclusion": "available",
        "selected": true,
        "selected-by-default": false,
        "table-key-properties": [
            "_sdc_id"
        ]
    }
}

Or you could modify meltano.yml to accomplish the same thing.

    metadata:
      "photos":
        "inclusion": "available"
        "selected": true

Source Authentication and Authorization

  • TODO: If your tap requires special access on the source system, or any special authentication requirements, provide those here. This Singer-compliant tap was created using the Singer SDK.

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-bamboohr
meltano install

Now you can test and orchestrate using Meltano:

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

SDK

Built with the Meltano SDK for Singer Taps and Targets.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published