Struktur von PaCE Richtlinienskript

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 5 Minuten Lesedauer
  • In diesem Abschnitt wird die Struktur von beschrieben PaCE Richtlinienskript.

    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. Die folgende Abbildung 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.

    In der folgenden Tabelle sind die Richtlinienfunktionsparameter aufgeführt 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 auf 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 .
    In der folgenden Abbildung sehen Sie, dass die aktuelle aktive Version der Richtlinie hervorgehoben ist. Es werden die folgenden Details angezeigt:
    • Versionsnummer
    • Datum der letzten Aktualisierung
    • Der Name des Anwenders, der die Version aktualisiert hat
    • Die Anzahl der Ausführungen durch die aufrufende Anwendung
    • Die Anzahl der Ausführungen in der Testumgebung
    Das Richtlinienskript kann während der Richtlinienausführung auf diese Daten zugreifen, indem es mit interagiert CurrentRecord Objekt an die Richtlinie übergeben.

    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 documentID) 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 Config Umgebung 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 PaCE API, wenn sie aufgerufen wird. Sie enthält alle API In der Richtlinienversion definierte Variablen. Weitere Informationen finden Sie im Abschnitt <Anrufereingaben definieren>

    Die Beispiel für RichtlinienskriptZeigt, wie Richtlinien zur Validierung von Konfigurationsdaten in der DevOps-Umgebung verwendet werden können. Im Beispielskript die ApiVars Variable ist definiert als
    var snapshotId = apiVars.snapshotId;
    Wobei angegeben ist Snapshot-ID Ist dem entsprechenden zugeordnet Snapshot-ID Des bereitstellbaren DevOps Config-Elements, 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 wurde.

    Konfigurationsparameter

    Konfigurationsparameter Werden Variablen bei der Zuordnung der Richtlinie übergeben, und schließt alle ein Konfigurationsparameter Für eine bestimmte Version der Richtlinie definierte Variablen.

    Die Konfigurationsparameter Die Variable ist im wie folgt definiert Beispiel für Richtlinienskript.
    var dbPort = configParams.dbPort;
    Der Richtlinienentwickler kann die Logik im Richtlinienskript definieren, um die Entscheidung anhand der bei der Zuordnung übergebenen Werte zu bestimmen. Zum Beispiel die DbPort Die Zahl muss kleiner als 30000 sein, andernfalls wird die Richtlinie als non_konform betrachtet.
    Record Refs Datensatzreferenzen definieren Abfragen zum Extrahieren von Daten aus einem beliebigen Element 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 ServiceNow Oder 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. Sie 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 auf Folgendes festgelegt werden:
    • Konform: Bestimmt, dass die Richtlinie die Anforderungen erfüllt.
    • Nicht konform: Bestimmt, dass die Richtlinie nicht den Anforderungen entspricht.
    • Konforme Ausnahme: Bestimmt, dass eine Ausnahme von der 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 in kein Wert 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 der PaCE Richtlinienskript wird ausgeführt.
    Ausgabe.

    name

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

    Status

    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