Struktur von PaCERichtlinienskript

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 5 Minuten Lesedauer
  • In diesem Abschnitt wird die Struktur von beschrieben PaCERichtlinienskript.

    Wenn eine Richtlinie ausgeführt wird, wird eine Reihe von Parametern übergeben, und der Richtlinienentwickler kann diese Parameter in diesem Richtlinienskript verwenden, um eine Entscheidung zu treffen, ob sie konform, nicht konform oder konform ist, und diese Entscheidung an den aufrufenden Service zurückgeben. Das folgende Bild zeigt ein Beispielskript:
    Abbildung : 1. Beispiel für Richtlinienskript
    Beispielskriptrichtlinie.

    Um das Skript zu debuggen, wählen Sie das Debugger-Skript-Symbol aus Debugger-Symbol. Weitere Informationen finden Sie unter Script Debugger API.

    Die folgende Tabelle listet die Richtlinienfunktionsparameter auf und wie sie in Ihrem Richtlinienskript verwendet werden können.

    Variablenname Beschreibung
    Protokollierung Protokollierung Ist ein Objekt, das der Richtliniencoder zum Protokollieren von Nachrichten verwenden kann. Die Protokollnachrichten werden in gespeichert sn_pace_execution_log Tabelle. Sie können diese Protokollnachrichten zu Debugging-, Nachverfolgungs- oder Überwachungszwecken überprüfen. Die Protokollnachrichten können mit einer der folgenden Ebenen protokolliert werden:
    • 1: Info
    • 2: Debuggen
    • 3: Warnung
    • 4: Fehler

    Wenn eine Richtlinie über die API aufgerufen wird, können Sie die gewünschte Protokollebene angeben. Beispiel: Das Format lautet wie folgt:

    logger.info("** snapshotId ist: „+snapshotId);

    aktuell

    Datensatz

    CurrentRecord Ist ein Objekt der aktuellen Version der Richtlinie, das ausgeführt wird, wenn die Richtlinie verwendet wird. Um anzuzeigen CurrentRecord Details, navigieren Sie zu Versionen Registerkarte auf der Richtlinien-Homepage, und suchen Sie die Richtlinie, deren Versionsstatus auf festgelegt ist Aktuell .
    Im Bild unten sehen Sie, dass die aktuell aktive Version der Richtlinie hervorgehoben ist. Zeigt die folgenden Details an:
    • Versionsnummer
    • Datum der letzten Aktualisierung
    • Der Name des Anwenders, der die Version aktualisiert hat
    • Die Anzahl der Ausführungen von der aufrufenden Anwendung
    • Die Anzahl der Ausführungen in der Testumgebung
    Das Richtlinienskript kann während der Richtlinienausführungszeit auf diese Daten zugreifen, indem es mit interagiert CurrentRecord Objekt, das an die Richtlinie übergeben wurde.

    PACE-Versionsdetails
    Dieses Beispiel zeigt, wie ein Richtlinienentwickler auf die Eigenschaften des Richtlinienversionsdatensatzes zugreifen kann:
    (function(logger, currentRecord, documentRecord, apiVars, configParams, recordRefs, dataCollectors, childrenOutputs, output) {
         //retrieve the input values
         logger.info(currentRecord.getValue('name'));
      }
     )(logger, currentRecord, documentRecord, apiVars, configParams, recordRefs, dataCollectors, childrenOutputs, output);
    
    Dokument

    Datensatz

    Die Dokumentdatensatz Wird verwendet, um die Richtlinie dem relevanten Objekt (Tabelle und Document-ID) zuzuordnen, das validiert wird. Die Dokumentdatensatz Ist eine Kombination aus table_Name und sysID. Basierend auf den Eigenschaften des Objekts wird die Richtlinienlogik verwendet, um das zu validierende Objekt zu verwalten und mit ihm zu interagieren, um die richtige Entscheidung zu bestimmen.
    Beispiel: In DevOps ConfigUmgebung kann dem bereitstellbaren Element eine Richtlinie zugeordnet werden. Wenn die API aufgerufen wird, wird eine Abfrage für die Dokumenttabelle (bereitstellbares Element) und die SYS-ID des bereitstellbaren Elements initiiert.
    {
               "table": "sn_cdm_deployable",
               "sysId": "d1be8f5e87d80110eec7dbdd3fbb357d"
    		}
    Dieses Beispiel zeigt, wie documentRecord in einem Richtlinienskript verwendet werden kann:
    (function(logger, currentRecord, documentRecord, apiVars, configParams, recordRefs, dataCollectors, childrenOutputs, output) 
    {
    //assuming that associated document has state field
      var documentState = documentRecord.getValue(“state”);
    if (documentState == “new”)
       …
    else
       …
    }
    )(logger, currentRecord, documentRecord, apiVars, configParams, recordRefs, dataCollectors, childrenOutputs, output);
    

    ApiVars

    Die ApiVars Wird an übergeben PaCEAPI, wenn sie aufgerufen wird. Enthält alle API In der Richtlinienversion definierte Variablen. Weitere Informationen finden Sie im Abschnitt <Anrufereingaben definieren>

    Die Beispiel für RichtlinienskriptZeigt an, wie Richtlinien zur Validierung von Konfigurationsdaten in der DevOps-Umgebung verwendet werden können. Im Beispielskript wird ApiVars Variable ist definiert als
    var snapshotId = apiVars.snapshotId;
    Wobei angegeben ist Snapshot-ID Ist dem entsprechenden zugeordnet Snapshot-ID Des bereitstellbaren DevOps-Konfigurationselements, das basierend auf den angegebenen Kriterien validiert wird.

    Der Richtlinienentwickler kann Logik im Richtlinienskript definieren, um zu verwenden ApiVars Werte, die übergeben werden, wenn die API aufgerufen wird, um die Entscheidung zu bestimmen. Beispielsweise wird die übergebene SnapshotID verwendet, um Schlüsselwerte im Zusammenhang mit der spezifischen Snapshot-ID für ein bereitstellbares Element zu identifizieren, das im documentRecord-Objekt übergeben wird.

    Konfigurationsparameter

    Konfigurationsparameter Werden Variablen bei der Zuordnung der Richtlinie übergeben und alle enthalten Konfigurationsparameter Für eine bestimmte Version der Richtlinie definierte Variablen.

    Die Konfigurationsparameter Variable ist wie folgt definiert in Beispiel für Richtlinienskript.
    var dbPort = configParams.dbPort;
    Der Richtlinienentwickler kann die Logik im Richtlinienskript definieren, um die bei der Zuordnung übergebenen Werte zu verwenden, um die Entscheidung zu bestimmen. Beispiel: DbPort Die Zahl muss kleiner als 30000 sein, andernfalls wird die Richtlinie als non_Compliance betrachtet.
    Record Refs Datensatzreferenzen definieren Abfragen zum Extrahieren von Daten aus beliebigen ServiceNow®Tabellen und verwenden Sie die Daten, um die Richtlinienlogik zu konfigurieren. Es gibt eine automatische Vervollständigungsfunktion, mit der die Datensatzreferenz im JavaScript-Editor ausgewählt werden kann.
    Datenerfasser Die Funktion „Datenerfasser“ erfasst Eingabeprozessdaten von ServiceNowOder eine externe Datenquelle, um eine Ausgabe bereitzustellen.
    untergeordnete Elemente

    Ausgaben

    In dieser Version nicht unterstützt.
    Ausgabe

    Dieser Parameter wird verwendet, um die Ausgabe der Richtlinienausführung, die die Entscheidung enthält, an den aufrufenden Service zurückzugeben. Bietet eine Entscheidung im Zusammenhang mit dieser Richtlinie mit zusätzlichen Informationen wie Fehlern, Warnungen und Ergebnisdetails.

    Dieses Beispiel zeigt eine Beispielausgabe mit konformen und non_konformen Entscheidungen:
    
    {
        "decision": "compliant",
        "results": [],
        "warnings": [],
        "failures": [],
        "state": "complete"
    }
    
    
    {
        "decision": "non_compliant",
        "results": [],
        "warnings": [],
        "failures": [“Failed to validate key”],
        "state": "complete"
    }
    
    Ausgabe.

    Entscheidung

    Die Entscheidungseigenschaft kann festgelegt werden auf:
    • Konform: Bestimmt, dass die Richtlinie die Anforderungen erfüllt.
    • Nicht konform: Bestimmt, dass die Richtlinie die Anforderungen nicht erfüllt.
    • Konforme Ausnahme: Bestimmt, dass eine Ausnahme zur Richtlinie genehmigt wurde und alle Richtlinien, die nicht konform sind, auf den Status „konforme Ausnahme“ gesetzt werden.

    Die Entscheidung wird im JSON-Format an den aufrufenden Service zurückgegeben.

    Hinweis:
    Wenn kein Wert in angegeben ist output.decision Feld im Skript, wenn die Richtlinie ausgeführt wird, ist dieses Feld standardmäßig auf festgelegt Konform Wenn keine Fehler vorliegen.
    Ausgabe.

    Ergebnisse

    Die Ergebnisse Die Eigenschaft kann verwendet werden, um Daten bei Entscheidungen, die während der Richtlinienvalidierungsphase getroffen wurden, an den aufrufenden Service zurückzugeben. Ein Listenobjekt mit einer Liste von Ergebnissen kann an den aufrufenden Service zurückgegeben werden.

    Ausgabe.

    Warnungen

    Die Warnungen Die Eigenschaft kann verwendet werden, um Daten bei Warnungen, die während der Richtlinienvalidierungsphase aufgetreten sind, an den aufrufenden Service zurückzugeben.

    Ausgabe.

    Fehler

    Die Fehler Die Eigenschaft kann verwendet werden, um Daten bei Fehlern, die während der Richtlinienvalidierungsphase aufgetreten sind, an den aufrufenden Service zurückzugeben.

    Hinweis:
    Die folgenden Felder werden automatisch ausgefüllt, wenn PaCERichtlinienskript wird ausgeführt.
    Ausgabe.

    name

    Der Name (aktuelle Version) der ausgeführten Richtlinie.
    Ausgabe.

    Staat

    Gibt den Status des Richtlinienaufrufs an.
    • Abgeschlossen: Der Aufruf wurde erfolgreich abgeschlossen.
    • Ausstehend: Gibt an, dass die Richtlinie nicht erfolgreich ausgeführt werden konnte und einen unvollständigen Status aufweist.
    Hinweis:
    • Vorschläge zur automatischen Vervollständigung sind im Richtlinienskript-Editor für verfügbar Protokollierung, callerInput Und Zugeordnete Eingabe Parameter.
    • Um zusätzliche Informationen für einen Parameter anzuzeigen, geben Sie den Parameternamen ein, und wählen Sie eine der folgenden Optionen aus:
      PACE – zusätzliche Parameterdetails