Führt Auslöser bedingt aus

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • MetricBase Auslöser werden basierend auf einer einzelnen Metrik ausgeführt. Bedingungsskripts stellen zusätzliche Anforderungen, die bestimmen, ob ein Auslöser einen Flow startet.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Warum und wann dieser Vorgang ausgeführt wird

    Bedingungsskripts werden ausgeführt, wenn Bedingungen für einen Auslöser erfüllt sind, jedoch bevor der Auslöser einen Workflow-Studio -Flow ausführt. Auf diese Weise können Bedingungsskripts verhindern, dass Auslöser Flows ausführen, selbst wenn Auslöserbedingungen erfüllt sind. Beispielsweise fluktuieren Daten häufig im Laufe der Zeit. Geringe Fluktuationen können zu unerwünschten, doppelten auslösenden Ereignissen führen. Ein Bedingungsskript kann diese fehlerhafte Duplizierung verhindern.

    Bedingungsskripts werden manchmal auch als Moderatorskripts bezeichnet.

    Bedingungsskripts geben immer „wahr“ (Auslöser) oder „falsch“ (nicht auslösen) zurück. Informationen zum Schreiben dieser Skripts finden Sie unter Skripting in ServiceNow Grundlagen. Informationen zum Experimentieren mit Skripts finden Sie unter Machen Sie sich mit vertraut MetricBase APIs.

    Prozedur

    1. Navigieren zu Alle > MetricBase > MetricBase-Auslöser > Auslösebedingungsskript.
    2. Wählen Sie Neu.
    3. Füllen Sie die Felder im Formular aus.
      Feld Beschreibung
      Name Name für das Bedingungsskript.
      Anwendung Umfang des Bedingungsskripts. Der Wert Globalbedeutet, dass die Aktion für alle Anwendungen gilt.
      Beschreibung Erklärung der Funktion des Bedingungsskripts. Wann wird Wahr oder Falsch zurückgegeben?
      Skript Feld zum Eingeben des JavaScript-Codes. Legen Sie die Rückgabe auf „true“ fest, um einen Flow auszuführen.
    4. Schreiben Sie das Bedingungsskript.

      Denken Sie beim Schreiben eines Skripts an die bedingten Anweisungen (für welche Fälle es ausgeführt werden soll und für welche nicht). Wenn alle als trueausgewertet werden, gibt das Skript „true“ zurück, und der Flow wird ausgeführt, andernfalls nicht. Das folgende Beispielskript löst einen Flow aus, wenn sich eine Drohne in geringer Höhe (definiert durch Ebene 1) zu schnell bewegt. Das Beispiel zeigt einen typischen Ansatz zum Schreiben eines Bedingungsskripts.

      1. Ruft die Auslöserdefinition ab, die als Filterfunktionsparameter übergeben wurde.
      2. Rufen Sie den Datensatz (current) ab, der das auslösende Ereignis verursacht, übergeben Sie ihn als Filterfunktionsparameter.
      3. Rufen Sie die Zeit aus dem Datensatz ab, zu der die Auslöserbedingungen erfüllt wurden, übergeben als Filterfunktionsparameter.
      4. Ruft die Auslöserebene ab, die als Filterfunktionsparameter übergeben wird.
      5. Verwenden Sie diese Parameter, um „wahr“ zurückzugeben, wenn die Auslöserbedingungen der Ebene 1 erfüllt sind und „trave_state“ gleich „Zeit für Fahren“ oder „Geschwindigkeit“ ist.
        function filter(/*GlideRecord*/ triggerDefinition, /*GlideRecord*/ current, /*GlideDateTime*/ start, /*int*/ level) {
        	// retrieve current travel state of drone
        	var travel_state = String(current.travel_state);
        	
        	// the drone is traveling at a significant speed, and the altitude just went below the threshold 
        	if (((travel_state === 'traveling') || (travel_state === 'speeding')) && (level === 1)){
        		return true; //process this trigger
        	}
        	
        	return false; // don't process this trigger
        }
        
      Hinweis:
      Bedingungsskripts müssen schnell ausgeführt werden.
    5. Wählen Sie Absenden.

    Nächste Maßnahme

    Verwenden Sie Workflow-Studio, um einen Flow einem Auslöser zuzuordnen. Beim Konfigurieren eines Flow können Sie ein von Ihnen erstelltes Bedingungsskript auswählen.
    Abbildung : 1. Fügen Sie einer Auslöserdefinition in ein Bedingungsskript hinzu Workflow-Studio
    Fügt einer Auslöserdefinition ein Bedingungsskript hinzu.

    Sie können ein Bedingungsskript auch einem Auslöser-Flow in der Tabelle MetricBase Auslöser-Flows [sys_flow_metric_trigger] zuordnen. Wenn Sie hier ein Bedingungsskript mit einem Auslöser-Flow verknüpfen, wird es nicht in Workflow-Studioangezeigt, sondern dennoch mit dem Auslöser ausgeführt.

    Abbildung : 2. Ordnen Sie ein Bedingungsskript in Auslöser-Flows MetricBase zu
    Ordnen Sie ein Bedingungsskript in der MetricBase-Tabelle für Auslöser-Flows zu