tap-personio is a Singer tap for personio.
Built with the Meltano Tap SDK for Singer Taps.
Install from GitHub:
pipx install git+https://github.com/meshcloud/tap-personio.git@maincatalogstatediscoveraboutstream-mapsschema-flattening
At this moment the tap only supports the employees
resource. The tap will automatically emit a dynamic schema based on the attributes available, leveraging the
universal_id of personio attributes as column names.
| Setting | Required | Default | Description |
|---|---|---|---|
| client_id | True | None | The client id to authenticate against the Personio API |
| client_secret | True | None | The client secret to authenticate against the Personio API |
| start_date | False | None | The earliest record date to sync |
| 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. |
A full list of supported settings and capabilities is available by running: tap-personio --about
This Singer tap will automatically import any environment variables within the working directory's
.env if the --config=ENV is provided, such that config values will be considered if a matching
environment variable is set either in the terminal context or in the .env file.
Create a Personio API credential and
configure client_id and client_secret settings.
Note: The tap will only have access to attributes whitelisted for the API credential
You can easily run tap-personio by itself or in a pipeline using Meltano.
tap-personio --version
tap-personio --help
tap-personio --config CONFIG --discover > ./catalog.jsonFollow these instructions to contribute to this project.
pipx install poetry
poetry installCreate tests within the tests subfolder and
then run:
poetry run pytestYou can also test the tap-personio CLI interface directly using poetry run:
poetry run tap-personio --helpTesting 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.
Next, install Meltano (if you haven't already) and any needed plugins:
# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-personio
meltano installNow you can test and orchestrate using Meltano:
# Test invocation:
meltano invoke tap-personio --version
# OR run a test `elt` pipeline:
meltano elt tap-personio target-jsonlSee the dev guide for more instructions on how to use the SDK to develop your own taps and targets.