Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
712:collector_data_rest_api [2025/09/15 14:55] – external edit 127.0.0.1 | 712:collector_data_rest_api [2025/09/24 14:50] (current) – Filpes, Claudia | ||
---|---|---|---|
Line 5: | Line 5: | ||
To use a REST API endpoint a Stages User needs to install a respective Data collector first. By default there are no REST endpoints available. A data collector is technically realized via an Admin Job. Every Admin Job is populating exactly one REST endpoint. | To use a REST API endpoint a Stages User needs to install a respective Data collector first. By default there are no REST endpoints available. A data collector is technically realized via an Admin Job. Every Admin Job is populating exactly one REST endpoint. | ||
- | {{ :712:datacollectorprocess.png?direct }} | + | {{ :712:data_collector_process.png?direct }} |
The framework allows to retrieve data for one or more workspaces in one call. Every call always requires an API token which is equipped with sufficient permissions to access the data provided by a REST API endpoint. | The framework allows to retrieve data for one or more workspaces in one call. Every call always requires an API token which is equipped with sufficient permissions to access the data provided by a REST API endpoint. | ||
Line 14: | Line 14: | ||
* **License Usage** data collector: {{ : | * **License Usage** data collector: {{ : | ||
* **All Roles** data collector: {{ : | * **All Roles** data collector: {{ : | ||
- | * **All Roles with associated Activities** data collector: download-link | + | * **All Roles with associated Activities** data collector: |
==== Installation and Deployment ==== | ==== Installation and Deployment ==== | ||
* Configure server for API token generation (see [[712: | * Configure server for API token generation (see [[712: | ||
* As a user with MODEL-license create an API token in User Settings > Security and Privacy | * As a user with MODEL-license create an API token in User Settings > Security and Privacy | ||
+ | * when the API token is used a user-session for this user is created and a user-license is used | ||
* The user needs to be equipped at least with the permission | * The user needs to be equipped at least with the permission | ||
* Domain: Collector Data | * Domain: Collector Data | ||
Line 39: | Line 40: | ||
With the following command you then can query for the current license usage: | With the following command you then can query for the current license usage: | ||
- | < | + | < |
curl -H " | curl -H " | ||
</ | </ | ||
Line 45: | Line 46: | ||
The result may look like the following example: | The result may look like the following example: | ||
- | < | + | < |
{ | { | ||
" | " | ||
Line 94: | Line 95: | ||
With the following command you then can query for the list of all Roles of //all Workspaces//: | With the following command you then can query for the list of all Roles of //all Workspaces//: | ||
- | < | + | < |
curl -H " | curl -H " | ||
</ | </ | ||
Line 100: | Line 101: | ||
To query the list of roles for a specific workspace add the workspace ID as additional parameter: | To query the list of roles for a specific workspace add the workspace ID as additional parameter: | ||
- | < | + | < |
curl -H " | curl -H " | ||
</ | </ | ||
Line 106: | Line 107: | ||
The result may look like the following example: | The result may look like the following example: | ||
- | < | + | < |
{ | { | ||
" | " | ||
Line 123: | Line 124: | ||
</ | </ | ||
- | ==== Data Population via Administrative Jobs ==== | + | ==== All Roles with associated Activities |
- | The data is populated | + | This data collector provides a list of all roles contained |
+ | To deploy this, download the data collection script, extract the .js-file | ||
- | These Admin job scripts are fully customizable, | + | <code javascript> |
+ | const projectPath = " | ||
+ | </ | ||
+ | Then create an Admin Job with the following properties to update the list of roles every Friday night: | ||
- | ==== Methods ==== | + | < |
+ | Name: Data Collector - allRolesWithActivities | ||
+ | Cron Expression: 0 0 23 ? * FRI | ||
+ | </ | ||
- | * Classes and methods for writing data are described in the JavaScript | + | Make sure the API token user owns the permissions: |
- | '' | + | With the following command you then can query for the list of all Roles with Activities for Workspace with ID 65: |
- | Returns the single JSON value that was stored for the given key and workspace ID | + | <code bash> |
+ | curl -H " | ||
+ | </ | ||
- | '' | + | The result may look like the following example: |
- | Returns the list of scoped key-value pairs for the given key and the workspaces with the given IDs. When the list of workspace | + | <code javascript> |
+ | ... | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | },... | ||
+ | </ | ||
- | * '' | ||
- | * '' | ||
+ | ==== Data Retrieval via http GET ==== | ||
+ | |||
+ | Query a single JSON value that was stored for the given key and workspace ID: | ||
+ | |||
+ | < | ||
+ | GET / | ||
+ | </ | ||
+ | |||
+ | Query JSON-data-structures for multiple workspaces at once which returns the list of scoped key-value pairs for the given key and the workspaces with the given IDs | ||
+ | |||
+ | < | ||
+ | GET / | ||
+ | </ | ||
+ | |||
+ | Querying a data-collector without specifying one or multiple workspaces returns all available JSON data structures | ||
+ | |||
+ | < | ||
+ | GET / | ||
+ | </ | ||
+ | |||
+ | ==== Creating customized REST endpoints ==== | ||
+ | |||
+ | The data is populated in the REST API endpoint through the execution of [[: | ||
+ | |||
+ | These Admin job scripts are fully customizable, | ||
+ | |||
+ | For customizing data collector scripts on your own you can find the comprehensive Stages internal API documentation on the Administration Start page > section " | ||
==== Example ==== | ==== Example ==== | ||
Line 163: | Line 217: | ||
=== Reading the data (single value) === | === Reading the data (single value) === | ||
- | < | + | < |
GET / | GET / | ||
</ | </ | ||
Line 177: | Line 231: | ||
=== Reading the data (multiple records) === | === Reading the data (multiple records) === | ||
- | < | + | < |
GET / | GET / | ||
</ | </ |