Trouble Ticket Open API Developer Guide

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 4 Minuten Lesedauer
  • Verwenden Sie Problemticket – API öffnen Dient zum Verwalten von Ticketinformationen zwischen externen Ticketsystemen und ServiceNow AI Platform. Diese API erstellt, aktualisiert und ruft Daten aus den Tabellen „Fall“ [sn_customerservice_Case] und „Incident“ [Incident] ab.

    Dieser Entwicklerleitfaden enthält Informationen zum erweitern von Problemticket – API öffnen Um verschiedene Anpassungen vorzunehmen.

    Erweitern der Trouble Ticket Open API

    Die Problemticket – API öffnen Kann durch Bearbeitung von Skripteinbindungen erweitert werden.

    Diese Skripteinbindungen sollten nur bearbeitet werden, wenn die Konsequenzen der Änderungen verstanden werden.
    • TMFTroubleTicketAPIKonstanten : Enthält Konstanten und erforderliche Parameterinformationen.
    • TMFTroubleTicketAPIUtil : Enthält Funktionen zur Verarbeitung von POST-, GET- und PATCH-Anforderungen.
    • ProblemticketProcessorOOB : Enthält Hilfsfunktionen, die Funktionen in TMFTroubleTicketAPIUtil unterstützen.
    • TroubleTicketProcessor : Eine leere Skripteinbindungsdatei. Verwenden Sie diese Datei, um alle Funktionen zu definieren, die Sie aus TroubleTicketProcessorOOB überschreiben möchten.

    Erweitern Sie Problemticket – API öffnen Um die folgenden Anpassungen vorzunehmen.

    Erforderliche Parameter

    Aktualisieren Sie die Skripteinbindung TMFTroubleTicketAPIConstants, um zu ändern, welche Parameter für den Anforderungstext erforderlich sind oder nicht erforderlich sind. Standardmäßig erfordert der Anforderungstext zum Erstellen eines Tickets (POST) die Parameter description, severity, Und ticketType. Standardmäßig verfügt der Anforderungstext zum Aktualisieren eines Tickets (PATCH) nicht über erforderliche Parameter.
    • TMFTROUBLETICKETAPICONSTANTS.TROUBLE_TICKET_CREATION_SCHEMA : Legt die erforderlichen Anforderungstext-Parameter fest, um ein Ticket zu erstellen.
    • TMFTROUBLETICKETAPICONSTANTS.TROUBLE_TICKET_UPDATE_SCHEMA : Legt die erforderlichen Anforderungstext-Parameter fest, um ein Ticket zu aktualisieren.
    In diesem Beispiel ist description, severity, status, Und ticketTypeZum Erstellen eines Tickets sind Parameter erforderlich.
    // TMFTroubleTicketAPIConstants
    TMFTroubleTicketAPIConstants.TROUBLE_TICKET_CREATION_SCHEMA = {
        "title": "CreateTroubleTicket",
        "type": "object",
        "properties": {
            "description": {
                "type": "string"
            },
            "severity": {
                "type": "string"
            },
            "status": {
                "type": "string"
            },
            "ticketType": {
                "type": "string"
            }
        },
        "required": [
            "description",
            "severity",
            "status",
            "ticketType"
        ]
    };

    Validierung des Anforderungstexts

    Um eine zusätzliche Validierung für den Anforderungstext durchzuführen, überschreiben Sie die Funktionen „TroubleTicketProcessorOB“. TroubleTicketProcessorOOB enthält die folgenden sechs Hilfsfunktionen, die zurückgeben Wahr Standardmäßig. Diese Funktionen werden in TMFTroubleTicketAPIUtil aufgerufen.
    • VerifyGetRequestForCase() – Angerufen von ProcessGetRequestForCase() .
    • VerifyPatchRequestForCase() – Angerufen von ProcessPatchRequestForCase() .
    • VerifyPostRequestForCase() – Angerufen von ProcessPostRequestForCase() .
    • VerifyGetRequestForIncident() – Angerufen von ProcessGetRequestForIncident() .
    • VerifyPatchRequestForIncident() – Angerufen von ProcessPatchRequestForIncident() .
    • VerifyPostRequestForIncident() – Angerufen von ProcessPostRequestForIncident() .
    Wenn eine Hilfefunktion zurückgegeben wird Falsch , Stoppt den API-Vorgang. Um eine anwenderdefinierte Validierung anzuwenden, überschreiben Sie die TroubleTicketProcessorOOB-Hilfsfunktionen, indem Sie Funktionen mit identischen Namen und Parametern in TroubleTicketProcessor erstellen. Diese neuen TroubleTicketProcessor-Funktionen werden von TMFTroubleTicketAPIUtil aufgerufen, um die standardmäßigen TroubleTicketProcessorOOB-Hilfsfunktionen zu ersetzen.
    In diesem Beispiel überschreibt eine Funktion in TroubleTicketProcessor eine Standardfunktion in TroubleTicketProcessorOOB, um eine Validierung des Namensattributs durchzuführen.
    // TroubleTicketProcessor
    var TroubleTicketProcessor = Class.create();
    TroubleTicketProcessor.prototype = Object.extendsObject(TroubleTicketProcessorOOB, {
        // Define overriding functions here
        // Function name and parameters must be identical to the function it overrides
    
        verifyPostRequestForCase: function(caseObject, apiResponseProcessor){
            // Returning false terminates the POST request
            // Make sure to assign error message and reason
            if (caseObject.name != "Hello world") {
                apiResponseProcessor.setMessage(TMFTroubleTicketAPIConstants.MESSAGES.CASE_CREATION_FAILURE);
                apiResponseProcessor.setReason("No reason needed");
                return false;
            }
        },
    
        type: 'TroubleTicketProcessor'
    });
    

    Zusätzliche REST-Vorgänge

    So erstellen Sie zusätzliche Vorgänge über die vorhandenen GET-, PATCH- und POST-Vorgänge hinaus: Erstellen Sie zusätzliche geskriptete REST-Ressourcen Für die Trouble Ticket Open API. Die Logik der neuen geskripteten REST-Ressourcen muss mit den vorhandenen Vorgängen übereinstimmen. Definieren Sie Funktionen für die neuen Vorgänge in TMFTroubleTicketAPIUtil.

    Feldzuordnung

    Beim Erstellen oder Aktualisieren von Datensätzen ordnet die API Anforderungstext-Parameter zu Fall- und Incident-Datensatzfeldern zu. Beim Abrufen von Datensätzen ordnet die API Datensatzfelder Antwortobjektattributen zu.

    TroubleTicketProcessorOOB enthält die folgenden Funktionen zum Zuordnen eines PATCH- oder POST-Anforderungstexts zu einem Fall oder Incident GlideRecord.
    • MapPatchRequestToCase()
    • MapPostRequestToCase()
    • MapPatchRequestToIncident()
    • MapPostRequestToIncident()
    TroubleTicketProcessorOOB enthält die folgenden Funktionen zum Zuordnen eines Falls oder Incident-GlideRecord zu einem JSON-Antwortobjekt für GET-, PATCH- oder POST-Anforderungen.
    • CreateGetResponseForCase()
    • CreatePatchResponseForCase()
    • CreatePostResponseForCase()
    • CreateGetResponseForIncident()
    • CreatePatchResponseForIncident()
    • CreatePostResponseForIncident()

    Passen Sie Feldzuordnungen an, um Daten für zusätzliche Fall- und Incident-Felder hinzuzufügen und abzurufen oder die Standardzuordnungen für Felder zu ändern. Um die Feldzuordnungen anzupassen, überschreiben Sie TroubleTicketProcessorOOB-Zuordnungsfunktionen, indem Sie Funktionen mit identischen Namen und Parametern in TroubleTicketProcessor erstellen. Diese neuen TroubleTicketProcessor-Funktionen werden von TMFTroubleTicketAPIUtil verwendet, um die standardmäßigen TroubleTicketProcessorOOB-Zuordnungsfunktionen zu ersetzen.

    In diesem Beispiel überschreiben zwei Funktionen in TroubleTicketProcessor die Standardfunktionen in TroubleTicketProcessorOB, um die Zuordnung des Beschreibungsfelds zu ändern und eine Zuordnung für das Feld Vertrag hinzuzufügen.
    // TroubleTicketProcessor
    var TroubleTicketProcessor = Class.create();
    TroubleTicketProcessor.prototype = Object.extendsObject(TroubleTicketProcessorOOB, {
        // Define overriding functions here
        // Function name and parameters must be identical to the function it overrides
    
        mapPostRequestToCase: function(caseGr, caseObject){
            // Override default mapping for the Description field
            caseGr.description = "All cases will be created with this description";
            // Add new mapping to the Contract field
            caseGr.contract = caseObject.contract;
         },
    
        createPostResponseForCase: function(caseGr, caseObject){
            // Override default mapping for the description attribute
            caseObject.description = "This will always be the retrieved description";
            // Add new contract attribute to the response object
            caseObject.contract = caseGr.contract;    
        },
    
        type: 'TroubleTicketProcessor'
    });
    

    Zuordnungslogik für Auswahlfelder

    Die Status , Priorität , Und Contact_type Felder sind Auswahlfelder, bei denen jede Auswahl aus einer Bezeichnung und einem entsprechenden Wert besteht. Beispiel: Wenn Status Feld ist auf festgelegt Neu , Die Bezeichnung ist Neu Und der Wert ist 1 . Die Zuordnung zwischen Auswahlbezeichnungen und -Werten kann geändert werden, indem die Auswahlfeldzuordnungsfunktionen überschrieben werden.

    TroubleTicketProcessorOOB enthält die folgenden Auswahlfeldzuordnungsfunktionen.
    • TransformCaseSeverity()
    • TransformCaseChannel()
    • TransformCaseStatus()
    • TransformIncidentSeverityToUrgency()
    • TransformIncidentSchweregrad ToImpact()
    • TransformIncidentChannel()
    • TransformIncidentStatus()
    Überschreiben Sie die Zuordnungsfunktionen des TroubleTicketProcessorOOB-Auswahlfelds, indem Sie Funktionen mit identischen Namen und Parametern in TroubleTicketProcessor erstellen. Diese neuen TroubleTicketProcessor-Funktionen werden von TMFTroubleTicketAPIUtil verwendet, um die standardmäßigen TroubleTicketProcessorOOB-Auswahlfeldzuordnungsfunktionen zu ersetzen.
    In diesem Beispiel überschreibt eine Funktion in TroubleTicketProcessor eine Standardfunktion in TroubleTicketProcessorOOB, um die Auswahlzuordnung für zu ändern Status Feld.
    // TroubleTicketProcessor
    var TroubleTicketProcessor = Class.create();
    TroubleTicketProcessor.prototype = Object.extendsObject(TroubleTicketProcessorOOB, {
        // Define overriding functions here
        // Function name and parameters must be identical to the function it overrides
    
        transformCaseStatus: function(status){
            if (status == "Draft")
                return 1;
            else return 10;
        },
    
        type: 'TroubleTicketProcessor'
    });