API de débogueur de script
L’API Script Debugger fournit des points de terminaison pour déboguer les 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 include de script.
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, tel que sys_script ou sys_script_include. Type de données : chaîne |
| sysId | Sys_id du 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 |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| Aucun |
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 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 points de connexion dans le script.
Type de données : objet |
| points de débogage.point d’arrêt | Liste de tous les points d’arrêt dans le 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 le sys_id et le texte du point d’arrêt.
Type de données : objet |
| points de débogage.point d’arrêt.<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, evaluationString contient le texte de la condition. Si le point d’arrêt n’est pas conditionnel, evaluation String est une chaîne vide. Type de données : chaîne |
| points de débogage.point d’arrêt.<line_number>.sysId | Sys_id du point d’arrêt. Type de données : chaîne |
| points de débogage.point de connexion | 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 le sys_id et le texte du point de connexion.
Type de données : objet |
| points de débogage.point de connexion.<line_number> | Numéro de ligne du point de connexion.
Type de données : objet |
| debugpoints.logpoint.<line_number>.evaluationString | Texte du point de connexion. Contient le message journalisé. Type de données : chaîne |
| points de débogage.point de connexion.<line_number>.sysId | Sys_id du point de connexion. Type de données : chaîne |
| key | Objet fournissant des détails sur le script en cours de débogage.
Type de données : objet |
| Champ clé.script | 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 |
| TypeClé.Script | Nom de la table qui contient le script. Type de données : chaîne |
| clé.valeur | Les 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 requête 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 comporte 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 include de script. Traitez plusieurs points d’arrêt ou points de connexion à 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 |
|---|---|
| tout récupérer | 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 (en anglais seulement) | 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 caret (^) comme séparateur pour plusieurs propriétés. Par exemple, Type de données : chaîne |
| Nom | Description |
|---|---|
| type de point de débogage | Requis. Type de point de débogage à ajouter, supprimer ou mettre à jour. Valeurs valides :
Type de données : chaîne |
| evaluationString (en anglais seulement) | Texte pour un point de connexion ou un point d’arrêt conditionnel. Pour un point de connexion, il evaluationString s’agit du message du journal. Pour un point d’arrêt conditionnel, il evaluationString s’agit de la condition. Par exemple, si vous parcourez une liste d’ID utilisateur en boucle et que vous souhaitez que le débogueur ne s’interrompe que 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 |
| lineNumber | 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 du script côté serveur. Type de données : chaîne |
| tableName | Requis. Nom de la table qui contient le script côté serveur, tel que 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 réponse (JSON ou XML)
| Nom | Description |
|---|---|
| requestedDebugedpoints | Liste des points d’arrêt et des points de connexion demandés. Présenté sous la forme d’un tableau d’objets.
Type de données : tableau |
| requestedDebugpoints.ScriptId | Sys_id du 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 connexion, il evaluationString s’agit du message du journal. Pour un point d’arrêt conditionnel, il evaluationString s’agit de 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, tel que 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’ajout, de suppression ou de mise à jour d’un point d’arrêt ou d’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 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 du 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
}
}