Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ethanleitch/wellsouth-project


https://github.com/ethanleitch/wellsouth-project

Last synced: about 8 hours ago
JSON representation

Awesome Lists containing this project

README

        

# wellsouth-project
This project connects Wellsouth's BambooHR database and Power Automate through an intermediary program, nicknamed "bampower".

## Installation
1. Clone this repository
2. Install [poetry](https://python-poetry.org/docs/) (it's recommended that you use [pipx](https://github.com/pypa/pipx) to install)
3. Create and activate a python virtual environment
4. Install packages with `poetry install`
5. Rename `.env.example` to `.env`, and fill out the fields. "API_KEY" is your BambooHR API key, and "DOMAIN" is the name of your BambooHR instance (*DOMAIN*.bamboohr.com). If you want to enable email error reporting, fill out "EMAIL_ADDRESSES", "EMAIL_PASSWORD", and "RECEIVING_ADDRESSES".
6. Configure `watching.json` (stored in `files` directory)

## Usage
`python3 bampower`

This will create a new snapshot folder under `files/snapshots/`, stamped with the current time. Bampower will then use `watching.json` to generate multiple reports. Each report will be saved as a JSON file within the current snapshot folder and sent to its specified URL endpoint.

## Configuration
Bampower is configured via `watching.json`, like so:

```json
[
{
"title": "updated_job_title",
"sendToEndpoint": "example.com",
"fields": [
{
"id": 17,
"name": "Job Title",
"type": "list",
"alias": "jobTitle"
}
]
}
]
```
*This will create one snapshot file named `updated_job_title.json`*

While the only neccessary field is id, adding the others is recommended, as it increases readability.

Fields that can be added are found in the `metafields.json` file, which will be created when bampower is initially run.

## Troubleshooting
Every time bampower runs, a `log.txt` file is saved to the current snapshot folder, or to `files/log.txt` if the program fails. This may help with troubleshooting.