Package: tap-pivotal-tracker
tap-pivotal-trackerASingertap for extracting data from thePivotal Tracker REST API.InstallationSince package dependencies tend to conflict between various taps and targets, Singerrecommendsinstalling taps and targets into their own isolated virtual environments:Install Pivotal Tracker Tap$python3-mvenv~/.venvs/tap-pivotal-tracker
$source~/.venvs/tap-pivotal-tracker/bin/activate
$pip3installtap-pivotal-tracker
$deactivateInstall Stitch Target (optional)$python3-mvenv~/.venvs/target-stitch
$source~/.venvs/target-stitch/bin/activate
$pip3installtarget-stitch
$deactivateConfigurationThe tap accepts a JSON-formatted configuration file as arguments. This configuration file has s single required field:api_token: A valid Pivotal Tracker API token.A token for the Pivotal Tracker API can be obtained following the instructionshere. A bare-bones tap configuration may file may look like the following:{"api_token":"foobar",}Granular Stream ConfigurationAdditionally, you may specify more granular configurations for individual streams. Each key under a stream should represent a valid API request parameter for that endpoint. A more fleshed-out configuration file may look similar to the following:{"api_token":"foobar","api_version":"v5","streams":{"stories":{"created_after":"2019-01-01T00:00:00","limit":500,"with_story_type":"bug","with_state":"accepted","with_label":"data-team"},"project_memberships":{"role":"owner"}}}StreamsThe current version of the tap syncs five distinctStreams:Accounts:Endpoint DocumentationLabels:Endpoint DocumentationProjects:Endpoint DocumentationProject Memberships:Endpoint DocumentationStories:Endpoint DocumentationDiscoverySinger taps describe the data that a stream supports via aDiscoveryprocess. You can run the Dayforce tap in Discovery mode by passing the--discoverflag at runtime:$~/.venvs/tap-pivotal-tracker/bin/tap-pivotal-tracker--config=config/pivotal.config.json--discoverThe tap will generate aCatalogto stdout. To pass the Catalog to a file instead, simply redirect it to a file:s$~/.venvs/tap-pivotal-tracker/bin/tap-pivotal-tracker--config=config/pivotal.config.json--discover>catalog.jsonSync to stdoutRunning a tap inSync modewill extract data from the various selected Streams. In order to run a tap in Sync mode and have messages emitted to stdout, pass a valid configuration file and catalog file:$~/.venvs/tap-pivotal-tracker/bin/tap-pivotal-tracker--config=config/pivotal.config.json--catalog=catalog.jsonThe tap will emit occasionalMetric,Schema,Record, andState messages. You can persist State between runs by redirecting messages to a file:$~/.venvs/tap-pivotal-tracker/bin/tap-pivotal-tracker--config=config/pivotal.config.json--catalog=catalog.json>>state.json
$tail-1state.json>state.json.tmp
$mvstate.json.tmpstate.jsonSync to StitchYou can also send the output of the tap toStitch Datafor loading into the data warehouse. To do this, first create a JSON-formatted configuration for Stitch.An example configuration file will look as follows:{"client_id":1234,"token":"foobar","small_batch_url":"https://api.stitchdata.com/v2/import/batch","big_batch_url":"https://api.stitchdata.com/v2/import/batch","batch_size_preferences":{}}Once the configuration file is created, simply pipe the output of the tap to the Stitch Data target and supply the target with the newly created configuration file:$~/.venvs/tap-pivotal-tracker/bin/tap-pivotal-tracker--config=config/dayforce.config.json--catalog=catalog.json--state=state.json|~/.venvs/target-stitch/bin/target-stitch--config=config/stitch.config.json>>state.json
$tail-1state.json>state.json.tmp
$mvstate.json.tmpstate.jsonContributingThe first step to contributing is getting a copy of the source code. First,forktap-pivotal-trackeron GitHub. Then,cdinto the directory where you want your copy of the source code to live and clone the source code:$gitclonegit@github.com:YourGitHubName/tap-pivotal-tracker.gitNow that you have a copy of the source code on your local machine, you can leveragePipenvand the correspondingPipfileto install of the development dependencies within a virtual environment:$pipenvinstall--three--devThis command will create an isolated virtual environment for yourtap-pivotal-trackerproject and install all the development dependencies defined within thePipfileinside of the environment. You can then enter a shell within the environment:$pipenvshellOr, you can run individual commands within the environment without entering the shell:$pipenvrun<command>For example, to format your code usingisortandflake8before commiting changes, run the following commands:$pipenvrunmakeisort
$pipenvrunmakeflake8You can also run the entire testing suite before committing usingtox:$pipenvruntoxFinally, you can run your local version of the tap within the virtual environment using a command like the following:$pipenvruntap-pivotal-tracker--config=config/pivotal.config.json--catalog=catalog.jsonOnce you've confirmed that your changes work and the testing suite passes, feel free to put out a PR!