API du débogueur de script
L’API Débogueur de script fournit des points de terminaison pour déboguer des lignes de code JavaScript côté serveur, telles que les règles métier et les includes de script.
Pour plus d’informations sur le débogueur de script, consultez Débogueur de script et Journal de session.
Cette API est disponible par défaut.
Débogueur de script : GET /js/debugpoints/script/{tableName}/{sysId}/{fieldName}
Récupérez une liste de points d’arrêt ou de points de connexion dans un script côté serveur, tel qu’une règle métier ou un script include.
Format d'URL
URL par défaut : /api/now/js/debugpoints/script/{tableName}/{sysId}/{fieldName}
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| tableName | Nom de la table qui contient le script côté serveur, par exemple sys_script ou sys_script_include. Type de données : chaîne |
| sysId | Sys_id pour le script côté serveur. Type de données : chaîne |
| Fieldname | Nom du champ qui contient le contenu du script côté serveur. Type de données : chaîne |
| Nom | Description |
|---|---|
| Néant |
| Nom | Description |
|---|---|
| Néant |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 403 | L'utilisateur n'est pas autorisé. L’utilisateur qui a exécuté la demande n’a pas l’autorisation d’accéder aux informations de point d’arrêt ou de point de journal pour l’enregistrement spécifié. |
Paramètres du corps de la réponse (JSON ou XML)
| Nom | Description |
|---|---|
| canWrite | Marqueur indiquant si l’utilisateur actuellement connecté peut définir ou modifier des points d’arrêt pour le script. Valeurs possibles :
Type de données : booléennes |
| points de débogage | Liste de tous les points d’arrêt et de tous les points de connexion dans le script.
Type de données : objet |
| debugpoints.breakpoint | Liste de tous les points d’arrêt du script, présentés sous forme de paires clé-valeur. La clé est le numéro de ligne du point d’arrêt. La valeur est un objet contenant la sys_id et le texte du point d’arrêt.
Type de données : objet |
| debugpoints.breakpoint.<line_number> | Numéro de ligne du point d’arrêt.
Type de données : objet |
| debugpoints.breakpoint.<line_number>.evaluationString | Texte du point d’arrêt. Si le point d’arrêt est conditionnel, la evaluationString contient le texte de la condition. Si le point d’arrêt n’est pas conditionnel, evaluationString est une chaîne vide. Type de données : chaîne |
| debugpoints.breakpoint.<line_number>.sysId | Sys_id du point d’arrêt. Type de données : chaîne |
| debugpoints.logpoint | Liste de tous les points de connexion du script, présentés sous forme de paires clé-valeur. La clé est le numéro de ligne du point de connexion. La valeur est un objet contenant la sys_id et le texte du point de connexion.
Type de données : objet |
| debugpoints.logpoint.<line_number> | Numéro de ligne du point de connexion.
Type de données : objet |
| debugpoints.logpoint.<line_number>.evaluationString | Texte du point de journalisation. Contient le message en cours de journalisation. Type de données : chaîne |
| debugpoints.logpoint.<line_number>.sysId | Sys_id du point de connexion. Type de données : chaîne |
| clé | Objet fournissant des détails sur le script en cours de débogage.
Type de données : objet |
| key.scriptField | Nom du champ qui contient le script. Type de données : chaîne |
| key.scriptId | Sys_id du script. Type de données : chaîne |
| key.scriptType | Nom de la table qui contient le script. Type de données : chaîne |
| clé.valeur | Paramètres de chemin d’accès utilisés pour effectuer la demande. Répertoriés dans l’ordre suivant.
Type de données : chaîne |
| nom | Nom du script. Type de données : chaîne |
| script | Texte affichant le code du script. Type de données : chaîne |
Exemple de demande cURL
Demande cURL
Récupère une liste de points de connexion et de points d’arrêt pour un script côté serveur. Ce script a un point de connexion à la ligne 2, un point d’arrêt à la ligne 11 et un point d’arrêt conditionnel à la ligne 18.
curl "https://instance.servicenow.com/api/now/js/debugpoints/script/sys_script_include/d65f78c40a0a0b6900196656f35913d3/script" \
--request GET \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--user 'username':'password'
{
"result": {
"canWrite": true,
"debugpoints": {
"LOGPOINT": {
"2": {
"evaluationString": "A log message",
"sysId": "ba28b0fa739310101c233096fbf6a75e"
}
},
"BREAKPOINT": {
"11": {
"evaluationString": "",
"sysId": "dc5f5bf341256010f877587fbdf5ec1d"
},
"18": {
"evaluationString": "a == true",
"sysId": "3d4f5bf341256010f877587bdf5ecf6"
}
}
},
"script": "// script code",
"name": "AbstractAjaxProcessor",
"key": {
"scriptType": "sys_script_include",
"scriptId": "d65f78c40a0a0b6900196656f35913d3",
"scriptField": "script",
"value": "sys_script_include.d65f78c40a0a0b6900196656f35913d3.script"
}
}
}
Débogueur de script : POST js/debugpoints/process
Ajoutez, mettez à jour ou supprimez des points d’arrêt ou des points de connexion dans un script côté serveur, tel qu’une règle métier ou un script include. Traitez plusieurs points d’arrêt ou points de log à la fois.
Format d'URL
URL par défaut : /api/now/js/debugpoints/process
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| fetchAll | Si vrai, renvoie une liste de tous les points d’arrêt ou points de connexion ajoutés ou mis à jour par l’utilisateur. Type de données : booléennes Valeur par défaut : false |
| fetchAllFilter | Renvoie une liste filtrée de tous les points d’arrêt ou points de connexion ajoutés ou mis à jour par l’utilisateur. Valeurs valides :
Utilisez le symbole du chevron (^) comme séparateur pour plusieurs propriétés. Par exemple, Type de données : chaîne |
| Nom | Description |
|---|---|
| debugpointType | Requis. Type de point de débogage à ajouter, supprimer ou mettre à jour. Valeurs valides :
Type de données : chaîne |
| evaluationString | Texte pour un point de connexion ou un point d’arrêt conditionnel. Pour un point de journal, il s’agit evaluationString du message du journal. Pour un point d’arrêt conditionnel, le evaluationString est la condition. Par exemple, si vous parcourez une liste d’ID utilisateur en boucle et que vous souhaitez que le débogueur se mette en pause uniquement lorsque l’ID utilisateur est 38493, vous pouvez ajouter un point d’arrêt conditionnel à l’intérieur de la boucle avec Si le point d’arrêt n’est pas un point d’arrêt conditionnel, il s’agit d’une evaluationString chaîne vide. Type de données : chaîne |
| Fieldname | Requis. Nom du champ qui contient le contenu du script côté serveur. Type de données : chaîne |
| Numéro de ligne | Numéro de ligne dans le script côté serveur spécifiant où ajouter, supprimer ou mettre à jour le point d’arrêt ou le point de connexion. Type de données : nombre |
| operation | Requis. Opération à effectuer pour le point d’arrêt ou le point de connexion. Valeurs valides :
Type de données : chaîne |
| ID script | Requis. Sys_id pour le script côté serveur. Type de données : chaîne |
| tableName | Requis. Nom de la table qui contient le script côté serveur, par exemple sys_script ou sys_script_include. Type de données : chaîne |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| Type de contenu | Format de données du corps de la demande. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
Paramètres du corps de la réponse (JSON ou XML)
| Nom | Description |
|---|---|
| requestedDebugpoints | Liste des points d’arrêt et des points de connexion demandés. Présenté comme un tableau d’objets.
Type de données : tableau |
| requestedDebugpoints.ScriptId | Sys_id pour le script côté serveur. Type de données : chaîne |
| requestedDebugpoints.evaluationString | Texte ajouté pour un point de connexion ou un point d’arrêt conditionnel. Pour un point de journal, il s’agit evaluationString du message du journal. Pour un point d’arrêt conditionnel, le evaluationString est la condition. Type de données : chaîne |
| requestedDebugpoints.operation | Opération effectuée pour le point d’arrêt ou le point de connexion. Valeurs possibles :
Type de données : chaîne |
| requestedDebugpoints.tableName | Nom de la table qui contient le script côté serveur, par exemple sys_script ou sys_script_include. Type de données : chaîne |
| requestedDebugpoints.fieldName | Nom du champ qui contient le contenu du script côté serveur. Type de données : chaîne |
| requestedDebugpoints.status | Résultat de l’instruction d’ajouter, de supprimer ou de mettre à jour un point d’arrêt ou un point de connexion spécifique. Valeurs possibles :
Une demande d’ajout, de suppression ou de mise à jour d’un point de débogage est ignorée dans les situations suivantes :
Type de données : chaîne |
| requestedDebugpoints.lineNumber | Numéro de ligne dans le script côté serveur spécifiant l’emplacement où le point d’arrêt ou le point de connexion a été ajouté, supprimé ou mis à jour. Type de données : nombre |
| requestedDebugpoints.debugpointType | Type de point de débogage ajouté, supprimé ou mis à jour. Valeurs possibles :
Type de données : chaîne |
| statut | Résultat de l’action globale. Code d’état de l’appel HTTP. Type de données : nombre |
Demande cURL
Cet exemple ajoute un point d’arrêt conditionnel à la ligne 12 dans le script.
curl "https://instance.servicenow.com/api/now/js/debugpoints/process" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data “[
{
\"tableName\": \"sys_script_include\",
\"scriptId\": \"d65f78c40a0a0b6900196656f35913d3\",
\"fieldname\": \"script\",
\"lineNumber\": 12,
\"evaluationString\": \"a == false\",
\"debugpointType\": \"breakpoint\",
\"operation\": \"add\"
}
]” \
--user 'username':'password'
{
"result": {
"requestedDebugpoints": [
{
"scriptId": "d65f78c40a0a0b6900196656f35913d3",
"evaluationString": "a == false",
"operation": "add",
"tableName": "sys_script_include",
"fieldName": "script",
"status": "success",
"lineNumber": 12,
"debugpointType": "breakpoint"
}
],
"status": 200
}
}