Structure d’un PaCE script de politique

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 6 minutes de lecture
  • Cette section décrit la structure d’un PaCE script de stratégie.

    Lorsqu’une politique est exécutée, un ensemble de paramètres est transmis et le développeur de la stratégie peut utiliser ces paramètres dans ce script de politique pour décider si elle est conforme, non conforme ou conforme-exception et renvoyer cette décision au service d’appel. L’image suivante montre un exemple de script :
    Figure 1. Exemple de script de politique
    Exemple de politique de script.

    Pour déboguer le script, sélectionnez l’icône de script de débogueur Icône de débogueur. Pour plus d'informations, consultez Script Debugger API.

    Le tableau suivant répertorie les paramètres de fonction de règle et la façon dont ils peuvent être utilisés dans votre script de stratégie.

    Nom de variable Description
    enregistreur L’enregistreur est un objet que le codeur de stratégie peut utiliser pour journaliser des messages. Les messages du journal sont stockés dans la table sn_pace_execution_log . Vous pouvez consulter ces messages de journal à des fins de débogage, de suivi ou de surveillance. Les messages du journal peuvent être journalisés à l’un des niveaux suivants :
    • 1 : informations
    • 2 : Déboguer
    • 3 : Avertissement
    • 4 : erreur

    Lorsqu’une politique est invoquée via l’API, vous pouvez spécifier le niveau de journal souhaité. Par exemple : Le format est le suivant :

    logger.info(« ** snapshotId est : « +snapshotId) ;

    current

    Enregistrement

    currentRecord est un objet de la version actuelle de la politique qui est exécutée lorsque la politique est utilisée. Pour afficher les détails de currentRecord , accédez à l’onglet Versions de la page d’accueil de la stratégie et localisez la stratégie dont l’état de version est défini sur Actuel.
    Dans l’image ci-dessous, vous pouvez voir que la version active actuelle de la politique est mise en surbrillance. Il affiche les détails suivants :
    • Numéro de version
    • Date de dernière mise à jour
    • Le nom de l’utilisateur qui a mis à jour la version
    • Nombre de fois où elle a été exécutée par l’application appelante
    • nombre de fois où il a été exécuté dans l’environnement de tests
    Le script de politique peut accéder à ces données pendant l’exécution de la politique en interagissant avec l’objet currentRecord transmis à la politique.

    Détails de la version PaCE
    Cet exemple montre comment un développeur de stratégie peut accéder aux propriétés de l’enregistrement de version de la stratégie :
    (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);
    
    document

    Enregistrement

    Le documentRecord est utilisé pour mapper la politique à l’objet pertinent (table et documentID) en cours de validation. Le documentRecord est une combinaison du table_name et du sysID. En fonction des propriétés de l’objet, la logique de politique est utilisée pour gérer l’objet en cours de validation et interagir avec lui afin de déterminer la bonne décision.
    Par exemple : dans l’environnement DevOps Config , une stratégie peut être mappée à l’élément déployable. Lorsque l’API est invoquée, une requête est lancée sur la table de document (déployable) et l’ID système du déployable.
    {
               "table": "sn_cdm_deployable",
               "sysId": "d1be8f5e87d80110eec7dbdd3fbb357d"
    		}
    Cet exemple montre comment documentRecord peut être utilisé dans un script de stratégie :
    (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

    Les apiVars sont transmises à l’API PaCE lorsqu’elle est invoquée. Elle inclut toutes les variables d’API définies dans la version de stratégie. Voir la section <Définition des entrées de l’appelant> pour plus de détails

    La Exemple de script de politique montre comment les politiques peuvent être utilisées pour valider les données de configuration dans l’environnement DevOps. Dans l’exemple de script, la variable apiVars est définie comme
    var snapshotId = apiVars.snapshotId;
    où le snapshotId spécifié est mappé au snapshotId correspondant du déployable DevOps Config en cours de validation en fonction des critères spécifiés.

    Le développeur de la stratégie peut définir la logique dans le script de stratégie pour utiliser les valeurs apiVars transmises lorsque l’API est invoquée pour déterminer la décision. Par exemple, le SnapshotID transmis est utilisé pour identifier les clé-valeurs associées à un snapshotID spécifique pour un déployable transmis dans l’objet documentRecord.

    Les paramètres de configuration sont des variables transmises lors du mappage de la stratégie et incluent toutes les variables de paramètres de configuration définies pour une version spécifique de la stratégie.

    La variable configParams est définie comme suit dans le Exemple de script de politique.
    var dbPort = configParams.dbPort;
    Le développeur de stratégie peut définir la logique dans le script de stratégie afin d’utiliser les valeurs transmises lors du mappage pour déterminer la décision. Par exemple, le numéro dbPort doit être inférieur à 30 000, sinon la politique est considérée comme non_compliant.
    recordRefs Les références d’enregistrement définissent des requêtes pour extraire des données de n’importe quelle ServiceNow® table et utilisent les données pour configurer la logique de stratégie. Il existe une fonction d’auto-complétion qui permet de sélectionner la référence de l’enregistrement dans l’éditeur Javascript.
    DataCollectors La fonction collecteurs de données collecte les données de processus d’entrée ou d’une source de ServiceNow données externe pour fournir une sortie.
    enfants

    Sorties

    Cette version n’est pas prise en charge.
    sortie

    Ce paramètre est utilisé pour transmettre au service d’appel la sortie de l’exécution de la politique qui inclut la décision. Il fournit une décision liée à cette politique, avec des informations supplémentaires telles que les erreurs, les avertissements et les détails des résultats.

    Cet exemple montre un exemple de sortie avec des décisions conformes et non_compliant :
    
    {
        "decision": "compliant",
        "results": [],
        "warnings": [],
        "failures": [],
        "state": "complete"
    }
    
    
    {
        "decision": "non_compliant",
        "results": [],
        "warnings": [],
        "failures": [“Failed to validate key”],
        "state": "complete"
    }
    
    sortie.

    décision

    La propriété de décision peut être définie sur :
    • Conforme : détermine que la politique est conforme aux exigences.
    • Non conforme : détermine que la politique n’est pas conforme aux exigences.
    • Exception conforme : détermine qu’une exception à la politique a été approuvée et que toutes les politiques non conformes sont définies sur l’état d’exception conforme.

    La décision est renvoyée au service d’appel au format JSON.

    Remarque :
    Si une valeur n’est pas spécifiée dans le champ output.decision du script, lorsque la politique est exécutée, ce champ est défini par défaut sur conforme en l’absence d’échec.
    sortie.

    résultats

    La propriété results peut être utilisée pour renvoyer au service d’appel des données sur les décisions prises pendant la phase de validation de la politique. Un objet de liste avec une liste de résultats peut être renvoyé au service d’appel.

    sortie.

    avertissements

    La propriété warnings (avertissements) peut être utilisée pour renvoyer des données au service d’appel sur tous les avertissements survenus pendant la phase de validation de la politique.

    sortie.

    Échecs

    La propriété failures peut être utilisée pour renvoyer au service d’appel des données sur toutes les erreurs survenues pendant la phase de validation de la politique.

    Remarque :
    Les champs suivants sont automatiquement renseignés lors de l’exécution du script de PaCE stratégie.
    sortie.

    nom

    Le nom (version actuelle) de la politique en cours d’exécution.
    sortie.

    État

    Il indique l’état de l’invocation de politique.
    • Terminer : l’invocation a été effectuée avec succès.
    • En attente : indique que la politique n’a pas pu être exécutée avec succès et qu’elle est à l’état incomplet.
    Remarque :
    • Des suggestions de saisie semi-automatique sont disponibles dans l’éditeur de script de stratégie pour les paramètres logger, callerInput et mappedInput .
    • Pour afficher des informations supplémentaires pour un paramètre, entrez le nom du paramètre et sélectionnez l’une des options suivantes :
      PaCE : détails supplémentaires des paramètres