Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
This plugin is based on the default bundled JSON Tool.
This plugin was created to solve use cases where we need to perform post-processing of the JSON response of a JSON API call in before storing the data into a form or workflow variable.
The configurations are exactly similar to the default bundled JSON Tool in Joget, just with an additional optional property to write a BeanShell script to format/modify the JSON response. The post-processed/formatted response is also returned at the end of the execute() method for further integration use case.
This plugin works just like the default bundled JSON Tool in Joget, but with the following added abilities:-
The plugin source codes can be found at JogetOSS Github. Feel free to clone and customize to suit your needs.
Figure 1: Connection Timeout and Socket Timeout Properties
Name | Description |
---|---|
Connection Timeout | Specifies the maximum time (in seconds) that the client will wait to establish a connection with the server. If the connection cannot be established within this time, an error will be thrown and logged. |
Socket Timeout | Specifies the maximum time (in seconds) that the client will wait for a server response after the connection is established. If no response is received within this time, an error will be thrown and logged. |
Important
You can only see this property if you select JSON for your Response Type.
Name | Description |
---|---|
Enable Response Formatting | When checked, you can start writing a BeanShell script to format/post-process the JSON response. |
Script | The "Enable Response Formatting" property must be enabled in order to write the BeanShell script here. Injected Variables:
Expected Return Object: It is expected to return a Map object that would later on be processed as configured to store to form and/or workflow variables. Example: Return the response only for the first item in a JSON array with the object name "apps". return data.get("apps")[0]; |
Figure 2: Enable Response Formatting
Notes: