This project consists of a Node.js script to update a Geckoboard KPI dashboard.
- GECKOBOARD_API_KEY
- BACKOFFICE_USERNAME
- BACKOFFICE_PASSWORD
Fields:
| ID | Name | Type | Description |
|---|---|---|---|
| date | Date | date | The date of the snapshot |
| version | Version | string | The Nice2 version |
| tickets | Number of support tickets | number | The total number of the support tickets created for this version on that particular date |
| tickets_per_installation | Number of support tickets per installation | number | The total number of the support tickets created for this version on that particular date divided by the number of installations running on that particular version |
Fields:
| ID | Name | Type | Description |
|---|---|---|---|
| date | Date | date | The date of the snapshot |
| version | Version | string | The Nice2 version |
| installations | Number of installations | number | The total number of installations running on that particular version on that particular date |
To add another dataset, add the script in the folder src/datasets and
export it via the src/datasets/index.js file.
The dataset script should export the following properties:
id(e.g. 'support_tickets.by_version')feed(Optional; Array of dataset ids to pass the data from into the toDatasetRecords function (2nd argument))scheme(The geckoboard dataset scheme)deleteBy(The oldest records (by insertion time) get deleted, once a limit of 5000 is reached. This behaviour can be overridden by using this property)query(Object containing the following properties to query the Backoffice:entity,paths,where,resolve,fields)toDatasetRecords(Function to convert the Backoffice query result into records matching the Geckoboard scheme (1st argument: query result, 2nd argument: required data from other datasets (see `feed)))