Führen Sie Auslöser bedingt aus

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 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 auslöst.

    Vorbereitungen

    Erforderliche Rolle: admin

    Warum und wann dieser Vorgang ausgeführt wird

    Bedingungsskripts werden ausgeführt, wenn Bedingungen für einen Auslöser erfüllt sind, aber bevor der Auslöser einen Flow Designer -Flow ausführt. Auf diese Weise können Bedingungsskripts verhindern, dass Auslöser Flows ausführen, auch wenn Auslöserbedingungen erfüllt sind. Beispielsweise schwanken Daten häufig im Laufe der Zeit. Kleine Fluktuationen können unerwünschte, doppelte auslösende Ereignisse verursachen. Ein Bedingungsskript kann diese fehlerhafte Duplizierung verhindern.

    Bedingungsskripts werden manchmal auch als Moderatorskripts bezeichnet.

    Bedingungsskripts geben immer „ true “ (Auslöser) oder „ false “ (nicht auslösen) zurück. Informationen zum Schreiben dieser Skripts finden Sie unter Skripterstellung 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 True oder False zurückgegeben?
      Skript Feld zur Eingabe des JavaScript-Codes. Stellen Sie sicher, dass er „ true “ zurückgibt, um einen Flow auszuführen.
    4. Schreiben Sie das Bedingungsskript.

      Denken Sie beim Schreiben eines Skripts über die bedingten Anweisungen nach (für welche Fälle soll es ausgeführt werden und für welche nicht). Wenn alle als „ true“ auswerten, gibt das Skript „ true “ zurück und der Flow wird ausgeführt, andernfalls nicht. Das folgende Beispielskript löst einen Flow aus, wenn sich einedrohne 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. Ruft den Datensatz (aktuell) ab, der das auslösende Ereignis verursacht, das als Filterfunktionsparameter übergeben wird.
      3. Ruft die Zeit aus dem Datensatz ab, zu der die Auslöserbedingungen erfüllt wurden, die als Filterfunktionsparameter übergeben wurden.
      4. Ruft die Auslöserebene ab, die als Filterfunktionsparameter übergeben wurde.
      5. Verwenden Sie diese Parameter, um „ true “ zurückzugeben, wenn die Auslöserbedingungen der Ebene 1 erfüllt sind und „travel_state“ gleich „Reise“ 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 Flow Designer, um einen Flow einem Auslöser zuzuordnen. Beim Konfigurieren eines Flows können Sie ein von Ihnen erstelltes Bedingungsskript auswählen.
    Abbildung : 1. Fügen Sie einer Auslöserdefinition in ein Bedingungsskript hinzu Flow Designer
    Fügen Sie 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 einem Auslöser-Flow zuordnen, wird es nicht in Flow Designerangezeigt , aber dennoch mit dem Auslöser ausgeführt.

    Abbildung : 2. Ordnen Sie ein Bedingungsskript in MetricBase Auslöser-Flows zu
    Ordnen Sie ein Bedingungsskript in der Tabelle „MetricBase-Auslöser-Flows“ zu