API du débogueur de script
L’API Script Debugger fournit des points de terminaison pour déboguer des lignes de code JavaScript côté serveur, telles que des règles métier et des script includes.
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, tel que 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 une 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 une 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 de 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 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 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 |
| points de débogage.point d’arrêt.<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, evaluationString 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 l’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 |
| points de débogage.point-log.<line_number>.evaluationString | Texte du point de connexion. Contient le message en cours de journalisation. Type de données : chaîne |
| points de débogage.point-log.<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 |
| key.scriptField | Nom du champ qui contient le script. Type de données : chaîne |
| ID clé.script | 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 comporte un point de connexion sur la ligne 2, un point d’arrêt sur la ligne 11 et un point d’arrêt conditionnel sur 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 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 |
|---|---|
| fetchAll (en anglais) | Si la valeur est 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 signe circonflexe (^) 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 | Texte d’un point de connexion ou d’un point d’arrêt conditionnel. Pour un point de connexion, il s’agit evaluationString du message du journal. Pour un point d’arrêt conditionnel, la evaluationString condition est la suivante. Par exemple, si vous parcourez une liste d’ID utilisateur et que vous souhaitez que le débogueur s’interrompe 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 evaluationString d’une 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 de 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, 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 une 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 une 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 de corps de réponse (JSON ou XML)
| Nom | Description |
|---|---|
| requestedDebugpoints | 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 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 connexion, il s’agit evaluationString du message du journal. Pour un point d’arrêt conditionnel, la evaluationString condition est la suivante. 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 indiquant 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
}
}