Skript-Debugger-API
Die Skript-Debugger Die API stellt Endpunkte zum Debuggen von Zeilen von serverseitigem JavaScript-Code bereit, z. B. Geschäftsregeln und Skripteinbindungen.
Weitere Informationen zum Skript-Debugger finden Sie unter Skript-Debugger und Sitzungsprotokoll .
Diese API ist standardmäßig verfügbar.
Skript-Debugger – GET /js/debugpoints/script/{tableName}/{sysId}/{fieldName}
Ruft eine Liste von Haltepunkten oder Protokollierungspunkten in einem serverseitigen Skript ab, z. B. einer Business-Regel oder einer Skripteinbindung.
URL-Format
Standard-URL: /api/now/js/debugpoints/script/{tableName}/{sysId}/{fieldName}
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| tableName | Name der Tabelle, die das serverseitige Skript enthält, z. B. sys_script oder sys_script_include. Datentyp: Zeichenfolge |
| sysId | SYS_ID für das serverseitige Skript. Datentyp: Zeichenfolge |
| fieldName | Name des Felds, das den serverseitigen Skriptinhalt enthält. Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Keine |
Kopfzeilen
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST API verwendet werden, finden Sie unter Unterstützte REST-API-Header .
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST API verwendet werden, finden Sie unter REST API-HTTP-Antwortcodes .
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| 403 | Anwender nicht autorisiert. Der Anwender, der die Anforderung ausgeführt hat, hat keine Berechtigung zum Zugriff auf Haltepunkt- oder Protokollpunktinformationen für den angegebenen Datensatz. |
Antworttext-Parameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| canWrite | Kennzeichnung, die angibt, ob der derzeit angemeldete Anwender Haltepunkte für das Skript festlegen oder ändern kann. Mögliche Werte:
Datentyp: Boolesch |
| Debugpunkte | Liste aller Haltepunkte und Protokollpunkte im Skript.
Datentyp: Objekt |
| debugpoints.breakpoint | Liste aller Haltepunkte im Skript, dargestellt als Schlüssel-Wert-Paare. Der Schlüssel ist die Zeilennummer für den Haltepunkt. Der Wert ist ein Objekt, das die sys_ID und den Text des Haltepunkts enthält.
Datentyp: Objekt |
| debugpoints.breakpoint.<line_number> | Zeilennummer für den Haltepunkt.
Datentyp: Objekt |
| debugpoints.breakpoint.<line_number>.evaluationZeichenfolge | Text des Haltepunkts. Wenn der Haltepunkt bedingt ist, enthält die evaluationString den Bedingungstext. Wenn der Haltepunkt nicht bedingt ist, ist die evaluationString eine leere Zeichenfolge. Datentyp: Zeichenfolge |
| debugpoints.breakpoint.<line_number>.sysId | SYS_ID des Haltepunkts. Datentyp: Zeichenfolge |
| Debugpoints.Protokollpunkt | Liste aller Protokollpunkte im Skript, dargestellt als Schlüssel-Wert-Paare. Der Schlüssel ist die Zeilennummer für den Protokollpunkt. Der Wert ist ein Objekt, das die sys_ID und den Text des Protokollpunkts enthält.
Datentyp: Objekt |
| Debugpoints.Protokollpunkt.<line_number> | Zeilennummer für den Protokollpunkt.
Datentyp: Objekt |
| Debugpoints.Protokollpunkt.<line_number>.evaluationZeichenfolge | Text des Protokollierungspunkts. Enthält die protokollierte Nachricht. Datentyp: Zeichenfolge |
| Debugpoints.Protokollpunkt.<line_number>.sysId | SYS_ID des Protokollierungspunkts. Datentyp: Zeichenfolge |
| key | Objekt, das Details zum Debugging-Skript enthält.
Datentyp: Objekt |
| Schlüssel.SkriptFeld | Name des Felds, das das Skript enthält. Datentyp: Zeichenfolge |
| Key.scriptId | SYS_ID des Skripts. Datentyp: Zeichenfolge |
| Key.scriptType | Name der Tabelle, die das Skript enthält. Datentyp: Zeichenfolge |
| Schlüssel.Wert | Die Pfadparameter, die zum Erstellen der Anforderung verwendet werden. In der folgenden Reihenfolge aufgeführt.
Datentyp: Zeichenfolge |
| name | Name des Antwortskripts. Datentyp: Zeichenfolge |
| Skript | Text, der den Code des Skripts anzeigt. Datentyp: Zeichenfolge |
Beispiel für eine Curl-Anforderung
cURL-Anforderung
Ruft eine Liste von Protokollierungspunkten und Haltepunkten für ein serverseitiges Skript ab. Dieses Skript hat einen Protokollpunkt in Zeile 2, einen Haltepunkt in Zeile 11 und einen bedingten Haltepunkt in Zeile 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"
}
}
}
Skript-Debugger: POST js/Debugpoints/Process
Fügen Sie Haltepunkte oder Protokollpunkte in einem serverseitigen Skript hinzu, aktualisieren oder entfernen Sie sie, z. B. eine Business-Regel oder eine Skripteinbindung. Verarbeiten Sie mehrere Haltepunkte oder Protokollpunkte gleichzeitig.
URL-Format
Standard-URL: /api/now/js/debugpoints/Process
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| FetchAll | Bei „wahr“ wird eine Liste aller Haltepunkte oder Protokollpunkte zurückgegeben, die vom Anwender hinzugefügt oder aktualisiert wurden. Datentyp: Boolesch Standardwert: false |
| FetchAllFilter | Gibt eine gefilterte Liste aller Haltepunkte oder Protokollpunkte zurück, die vom Anwender hinzugefügt oder aktualisiert wurden. Gültige Werte:
Verwenden Sie das Caret-Symbol (^) als Trennzeichen für mehrere Eigenschaften. Beispiel: Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| DebugpointType | Erforderlich. Typ des Debug-Punkts, der hinzugefügt, gelöscht oder aktualisiert werden soll. Gültige Werte:
Datentyp: Zeichenfolge |
| EvaluationString | Text für einen Protokollpunkt oder bedingten Haltepunkt. Für einen Protokollierungspunkt die evaluationStringIst die Protokollnachricht. Für einen bedingten Haltepunkt die evaluationStringIst die Bedingung. Wenn Sie beispielsweise eine Liste von Anwender-IDs durchlaufen und den Debugger nur anhalten möchten, wenn die Anwender-ID 38493 lautet, können Sie einen bedingten Haltepunkt innerhalb der Schleife mit hinzufügen Wenn der Haltepunkt kein bedingter Haltepunkt ist, wird evaluationStringIst eine leere Zeichenfolge. Datentyp: Zeichenfolge |
| fieldName | Erforderlich. Name des Felds, das den serverseitigen Skriptinhalt enthält. Datentyp: Zeichenfolge |
| Zeilennummer | Zeilennummer im serverseitigen Skript, die angibt, wo der Haltepunkt oder Protokollpunkt hinzugefügt, gelöscht oder aktualisiert werden soll. Datentyp: Zahl |
| operation | Erforderlich. Vorgang, der für den Haltepunkt oder Protokollierungspunkt ausgeführt werden soll. Gültige Werte:
Datentyp: Zeichenfolge |
| SkriptId | Erforderlich. SYS_ID für das serverseitige Skript. Datentyp: Zeichenfolge |
| tableName | Erforderlich. Name der Tabelle, die das serverseitige Skript enthält, z. B. sys_script oder sys_script_include. Datentyp: Zeichenfolge |
Header
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST API verwendet werden, finden Sie unter Unterstützte REST-API-Header .
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Content-Type | Datenformat des Anforderungstexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST API verwendet werden, finden Sie unter REST API-HTTP-Antwortcodes .
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
Antworttext-Parameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| AnfordertDebugpoints | Liste der angeforderten Haltepunkte und Protokollpunkte. Wird als Array von Objekten angezeigt.
Datentyp: Array |
| AnfordertDebugpoints.SkriptId | SYS_ID für das serverseitige Skript. Datentyp: Zeichenfolge |
| AnfordertDebugpoints.evaluationZeichenfolge | Text für einen Protokollpunkt oder bedingten Haltepunkt hinzugefügt. Für einen Protokollierungspunkt die evaluationStringIst die Protokollnachricht. Für einen bedingten Haltepunkt die evaluationStringIst die Bedingung. Datentyp: Zeichenfolge |
| AnfordertDebugpoints.Vorgang | Vorgang, der für den Haltepunkt oder Protokollierungspunkt ausgeführt wird. Mögliche Werte:
Datentyp: Zeichenfolge |
| AnfordertDebugpoints.tableName | Name der Tabelle, die das serverseitige Skript enthält, z. B. sys_script oder sys_script_include. Datentyp: Zeichenfolge |
| AnfordertDebugpoints.fieldName | Name des Felds, das den serverseitigen Skriptinhalt enthält. Datentyp: Zeichenfolge |
| AnfordertDebugpoints.Status | Ergebnis der Anweisung zum Hinzufügen, Löschen oder Aktualisieren eines bestimmten Haltepunkts oder Protokollpunkts. Mögliche Werte:
Eine Anforderung zum Hinzufügen, Löschen oder Aktualisieren eines Debug-Punkts wird in den folgenden Situationen ignoriert:
Datentyp: Zeichenfolge |
| AnfordertDebugpoints.lineNumber | Zeilennummer im serverseitigen Skript, die angibt, wo der Haltepunkt oder Protokollpunkt hinzugefügt, gelöscht oder aktualisiert wurde. Datentyp: Zahl |
| requestedDebugpoints.debugpointType | Typ des hinzugefügten, gelöschten oder aktualisierten Debug-Punkts. Mögliche Werte:
Datentyp: Zeichenfolge |
| status | Ergebnis der Gesamtaktion. Der Statuscode für den HTTP-Aufruf. Datentyp: Zahl |
cURL-Anforderung
In diesem Beispiel wird ein bedingter Haltepunkt in Zeile 12 im Skript hinzugefügt.
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
}
}