-
Epic
-
Resolution: Fixed
-
L3 - Default
-
None
-
None
-
None
-
Export Process instance details
User Story (Required on creation):
Camunda users often operate the engine in an environment consisting of several other engines, backend systems, ... . The ownership of these systems might be in several different teams / several operators. One business transaction is E2E executed on several of these systems. If there is an error, it frequently must be fixed manually / semi-automated.
To ease communication between teams / operators (that e.g. do not use Cockpit), exporting relevant process instance data in a text-based format is a useful feature.
Functional Requirements (Required before implementation):
- The results of the process instance search on the process dashboard (https://docs.camunda.org/manual/7.16/webapps/cockpit/bpmn/dashboard/#deployed-processes) can be exported
- Format: CSV (needs final clarification)
- Selection:
- All results of the search
- The current page
- A selection of instances on the current page
- Users can choose what properties are included in the result
- The following properties can be included in the result:
- All historic process instance attributes, especially including
- Process instance id
- Business Key
- Process definition id
- Start and end date of process instance
- Process instance variables of the user's choice
- The currently active activities in the process instance
- The exception messages of jobs in the process instance (regardless of number of retries left)
- All historic process instance attributes, especially including
Technical Requirements (Required before implementation):
- tbd: Clarify how exporting all results plays together with the pagination limit that users can configure
- tbd: The selection of exported properties can be stored in the local storage of the browser
- tbd: Decide if public API or Cockpit private endpoint
- tbd: Consider having a warning if a user is about to export a very large result set
- tbd: Clarify how 1:N relationships of process instance with secondary entities (active activities, job exception messages) should turn out in the result. Currently known options:
- Separate multiple values by comma within one CSV attribute (nesting in CSV)
- Export multiple rows when there is more than one related entity
- May have the permutation problem. For example if we have two active activities and two job failure messages, do we export 2*2 = 4 rows with all combinations?
- Use JSON instead of CSV