-
Sub-task
-
Resolution: Fixed
-
L3 - Default
-
None
-
None
-
Not defined
For the purpose of allowing the combination of variable filters with OR logic, we need to modify the POST /api/report/:id/evaluate endpoint to accept a list of filter values. The proposed API change should look something like:
{ id: 'string', name: 'string', lastModifier: 'user_id', lastModified: '2017-11-05T04:11:17.121', owner: 'user_id', created: '2017-11-04T11:15:35.111', combined: false, reportType: 'process', currentUserRole: 'editor', // or viewer data: { processDefinitionKey: '...', processDefinitionVersions: ['...'], // a list of versions or ['all'] or ['latest'] tenantIds: ["tenantId1", ...] // none, one or multiple tenantIds, to filter for instances with no tenant provide a `null` entry or an empty list filter: [ { "type": "variable", "data": [ { "type": "type1", "name": "variable name", "data": { "values": [ filter value ] } }, { "type": "type2", "name": "variable name", "data": { "values": [ "filter value 1", "filter value 2" ] } } ], "filterLevel": "instance", "appliedTo": [ "definition" ] } ], view: { entity: 'processInstance', // 'flowNode' property: 'frequency' } groupBy: { type: 'startDate', // 'flowNodes', 'variable', 'endDate' value: { unit: 'day' // month, hour, day, year, week, automatic } }, distributedBy: { type: 'none', // or userTask, FlowNode, Assignee, Candidate Group value: null }, visualization: 'number', // 'table', 'bar', 'line', 'pie', 'badge', 'heat', }, result: { measures: [{ property: 'duration', aggregationType: 'min', // optional userTaskDurationTime: 'work' // optional data: [ {key: "2017-11-01T00:00:00", value: 23}, // can also contain optional 'label' property for e.g. groupBy: flowNodes reports {key: "2017-11-02T00:00:00", value: 7}, {key: "2017-11-03T00:00:00", value: 11}, ... ] }], isComplete: true // false if the result data is truncated due exceeding length limit instanceCount: 1234, instanceCountWithoutFilters: 1300, type: 'map' } }