---
sourceDocument: Options de la plateforme d’IA ServiceNow de Yokohama
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/yokohama/servicenow-platform

 Release :

    - yokohama

ft:locale :

    - fr-FR

ft:publication_title :

    - Options de la plateforme d’IA ServiceNow de Yokohama

ft:clusterId :

    - platcap

bundleId :

    - platcap

workflow :

    - Platform


---

# Structure d'un script de stratégie PaCE

# Structure d'un PaCE script de politique {#ariaid-title1}

* Rversion finale: Yokohama
* 
* Mis à jour 30 janv. 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 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

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](https://www.servicenow.com/docs/access?context=scriptdebugger-api&version=yokohama&pubname=yokohama-api-reference&ft:locale=en-US).

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.
{#pace-policy-structure__table_jk5_xlt_jrb__entry__2}

| 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 {#pace-policy-structure__ul_ifk_v5t_jrb} 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 {#pace-policy-structure__ul_ug1_tpg_35b}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. <br /> 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](https://servicenow-prod.fluidtopics.net/LRaV32QC3QFIhv8DDNF1EQ#pace-policy-structure__fig_qfr_z1z_yrb) 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](https://servicenow-prod.fluidtopics.net/LRaV32QC3QFIhv8DDNF1EQ#pace-policy-structure__fig_qfr_z1z_yrb). 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. {#pace-policy-structure__ul_t2h_st4_fsb} 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. {#pace-policy-structure__ul_q3s_lts_fsb} |
[ ]

{#pace-policy-structure__table_jk5_xlt_jrb}  
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-policy-structure__ul_d1j_xc1_zrb}

