We are designing a system to read the kafka exporter events and send a notification to the clients when, say a workflow instance is started, completed, terminated, incident raised etc.
While reading the kafka events, I could see RejectionType is set to some value (not NULL_VAL) only for events of valueType INCIDENT.
Could you please clarify if anything other than NULL_VAL can come in the RejectionType for valueTypes like WORKFLOW_INSTANCE_CREATION, WORKFLOW_INSTANCE, VARIABLE etc?
This will help us design to correctly send the notification back to the clients.
Not sure if this is the right forum for this internals questions. Please let me know if I should raise this somewhere else.
all user commands can be rejected, so everything you can send via a grpc client can be rejected. If this command is rejected then an rejection is written to the log with a rejection type. Does this help?
Yes. For example, a creation command is rejected if no workflow with the given key or BPMN process id is deployed. A variable command is rejected if the given scope key doesn’t exist or the element/workflow instance is not active anymore.
a) Only RecordType COMMAND (and INCIDENT) will have a non NULL RejectionType?
b) With a non null RejectionType, the workflow will not proceed to the next states - ELEMENT ACTIVATING/ACTIVATED
b) probably an INCIDENT event will be created with RejectionType set to one of those mentioned in the xml.