Skript-Debugger-API

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 6 Minuten Lesedauer
  • 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

    Tabelle : 1. Pfadparameter
    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

    Tabelle : 2. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 3. Anforderungstextparameter (XML oder JSON)
    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 .

    Tabelle : 4. Anforderungskopfzeilen
    Kopfzeile Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml.

    Standard: application/json

    Tabelle : 5. Antwortkopfzeilen
    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 .

    Tabelle : 6. Statuscodes
    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:
    • Wahr: Sie können Haltepunkte festlegen oder ändern.
    • Falsch: Sie können Haltepunkte nicht festlegen oder ändern.

    Datentyp: Boolesch

    Debugpunkte Liste aller Haltepunkte und Protokollpunkte im Skript.
    "debugpoints": {
      "breakpoint": {Object}
      "logpoint": {Object}
    }

    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.
    "breakpoint": {
      <line_number>: {Object}
    }

    Datentyp: Objekt

    debugpoints.breakpoint.<line_number> Zeilennummer für den Haltepunkt.
    <line_number>: {
      "evaluationString": "String"
      "sysId": "String"
    }

    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.
    "logpoint": {
      <line_number>: {Object}
    }

    Datentyp: Objekt

    Debugpoints.Protokollpunkt.<line_number> Zeilennummer für den Protokollpunkt.
    <line_number>: {
      "evaluationString": "String"
      "sysId": "String"
    }

    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.
    "key": {
      "scriptField": "String"
      "scriptId": "String"
      "scriptType": "String"
      "value": "String"
    }

    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.
    • tableName
    • sysId
    • fieldName

    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

    Tabelle : 7. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 8. Abfrageparameter
    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:
    • DebugpointType. Legen Sie entweder auf Haltepunkt oder Protokollierungspunkt fest.
    • SkriptId. Legen Sie die sys_ID des Skripts fest, in dem nach Debug-Punkten gesucht werden soll.
    • Umfang. Legen Sie den Namen des Bereichs fest, in dem nach Debug-Punkten gesucht werden soll.

    Verwenden Sie das Caret-Symbol (^) als Trennzeichen für mehrere Eigenschaften. Beispiel: FetchAllFilter=debugpointType=logpoint^scope=MyApp

    Datentyp: Zeichenfolge

    Tabelle : 9. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    DebugpointType

    Erforderlich. Typ des Debug-Punkts, der hinzugefügt, gelöscht oder aktualisiert werden soll.

    Gültige Werte:
    • breakpoint
    • Protokollierungspunkt

    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 Anwender-ID == 38493 Als Bedingung. Der Debugger wird nur an diesem Haltepunkt angehalten, wenn die Bedingung „wahr“ ist.

    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:
    • Hinzufügen
    • löschen
    • Aktualisieren

    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 .

    Tabelle : 10. Anforderungskopfzeilen
    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

    Tabelle : 11. Antwortkopfzeilen
    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 .

    Tabelle : 12. Statuscodes
    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.
    "requestedDebugpoints": [
      {
        "scriptId": "String",
        "evaluationString": "String",
        "operation": "String",
        "tableName": "String",
        "fieldName": "String",
        "status": "String",
        "lineNumber": Number,
        "debugpointType": "String"
      }
    ]

    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:
    • Hinzufügen
    • löschen
    • Aktualisieren

    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:
    • Fehler
    • ignored
    • Erfolg
    Eine Anforderung zum Hinzufügen, Löschen oder Aktualisieren eines Debug-Punkts wird in den folgenden Situationen ignoriert:
    • Fordert das Löschen eines Haltepunkts oder Protokollierungspunkts an, der nicht vorhanden ist.
    • Fordert das Hinzufügen eines Haltepunkts oder Protokollierungspunkts an, der mit einem bereits vorhandenen Haltepunkt identisch ist.

    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:
    • breakpoint
    • Protokollierungspunkt

    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
      }
    }