Event-Trigger

Einführung in Event-Trigger

Event-Trigger sind Interrupts, die signalisieren, dass ein bestimmtes Ereignis für einen Vorgang eingetreten ist. Sie hängen an Bereichen. Ein Bereich kann mehrere Event-Trigger haben. Event-Trigger können auf jegliche Arten von Änderungen reagieren, zum Beispiel Änderungen an den Vorgangsdaten, des Bearbeiters oder der Relationen des Vorgangs. Die Aktionen, die ausgeführt werden sollen, wenn das Ereignis eintritt, müssen im Skript einer mit dem Trigger verbundenen automatischen Aktivität definiert werden.

Beispiele für die Verwendung von Event-Triggern:

Prozesslogik mit Event-Triggern

Für Event-Trigger gilt die folgende allgemeine Logik:

  1. Das Ereignis, das im Event-Trigger definiert wurde, tritt für einen Vorgang ein, der sich in dem Bereich befindet, an dem der Trigger hängt.

  2. Der Trigger feuert, d. h. er signalisiert, dass das Ereignis eingetreten ist.

  3. Das Skript, das im Trigger definiert wurde, wird ausgeführt. Wenn es true zurückgibt, wird die folgende automatische Aktivität oder der Entscheidungsknoten mit den beiden folgenden automatischen Aktivitäten ausgeführt.

Wenn eine Änderung mehr als einen Vorgangsparameter betrifft und für diese Parameter verschiedene Event-Trigger im Bereich definiert wurden, feuern die Event-Trigger in der Reihenfolge, in der sie am Bereich hängen, von links nach rechts. Falls der Vorgang durch eine automatische Aktivität den Bereich verlässt, an dem die Trigger hängen, z. B. indem er über einen Aussprungknoten in eine andere Queue verschoben wird, feuern die restlichen Trigger nicht mehr.

Wenn Event-Trigger sich in hierarchischen Bereichen befinden und auf dieselbe Änderung reagieren, wird das Ereignis vom Trigger im innersten Bereich behandelt. Falls der Trigger im innersten Bereich nicht auf alle eingetretenen Ereignisse reagiert, werden die Ereignisse, die noch nicht behandelt wurden, an den nächst äußeren Bereich weitergeleitet.

Best Practice:

  • Hängen Sie den Event-Trigger an den innerst möglichen Bereich, um unnötige Trigger-Ausführungen zu vermeiden.

  • Wenn eine Aktivität bestimmte Vorgangsdaten ändert, und ein Trigger, der auf diese Änderungen reagiert, nicht ausgeführt werden soll, dann platzieren Sie die Aktivität außerhalb des Bereiches, in dem sich der Trigger befindet.

  • Die automatische Aktivität, die auf einen Event-Trigger folgt, sollte keine Vorgangsparameter ändern, auf die der Trigger reagiert. Dies würde zu einer Endlosschleife führen, da der Trigger nach Ausführung der Aktivität erneut feuern würde. Wenn Änderungen an Vorgangsparametern, auf die ein Trigger reagiert, erforderlich sind, dann platzieren Sie die Aktivität außerhalb des Bereiches, in dem sich der Trigger befindet.

Verfügbare Einstellungen für Event-Trigger

Es sind folgende Einstellungen für Event-Trigger verfügbar:

Programmieren mit Event-Triggern

Sie können ein Objekt des Typs TicketChanges abrufen, das die am Vorgang vorgenommenen Änderungen enthält:

workflowApi.getTicketUpdateEvent().getModifications()