Tap was created by AutoIDM. Check us out for tap/target creation, maintenace, support, and more!
catalog
state
discover
about
stream-maps
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
```bash
pipx install poetry
poetry install
```
```bash
poetry run tap-bamboohr --help
```
```bash
poetry run pytest
```
See the dev guide for more instructions on how to use the Singer SDK to develop your own taps and targets.
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).
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
-
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
Built with the Meltano SDK for Singer Taps and Targets.