GlideHTTPResponse : global

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 8 Minuten Lesedauer
  • Die GlideHTTPResponse -API bietet Dienstprogrammmethoden zum Ausführen allgemeiner Funktionen mit Glide-HTTP-Antworten.

    GlideHTTPResponse – getAllHeaders()

    Gibt eine Liste aller Kopfzeilen zurück.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Array Liste aller Header, die dem Endpunktaufruf zugeordnet sind.

    In diesem Beispiel wird gezeigt, wie ein angegebener Incident mit der Methode „del()“ aus der Incident-Tabelle gelöscht wird.

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Add the Accept header to get JSON response
    request.addHeader('Accept', 'application/json');
    
    // Execute the GET request
    var response = request.get();
    
    // Print all headers associated with the endpoint call
    gs.print(response.getAllHeaders());

    Ausgabe

    [
      X-Is-Logged-In: true, 
      X-Transaction-ID: 21a9223f1b13, 
      X-Total-Count: 69,
      X-Content-Type-Options: nosniff,
      Pragma: no-store,no-cache,
      Cache-Control: no-cache,no-store,must-revalidate,
      max-age=-1,
      Expires: 0,
      Content-Type: application/json;charset=UTF-8,
      Transfer-Encoding: chunked,
      Date: Tue, 26 Oct 2021 16:54:24 GMT,
      Server: ServiceNow,
      Set-Cookie: JSESSIONID=36B9B3E86C31E244A50AF38106376F9B; Path=/; HttpOnly; SameSite=None; Secure,
      Set-Cookie: glide_user=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly; SameSite=None; Secure,
      Set-Cookie: glide_user_session=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly; SameSite=None; Secure,
      Set-Cookie: glide_user_route=glide.455981d2bb48a9658f44c18e5f56313d; Max-Age=2147483647; Expires=Sun, 13-Nov-2089 20:08:31 GMT; Path=/; HttpOnly; SameSite=None; Secure,
      Set-Cookie: glide_session_store=E9A9223F1B1370107CF30D03CD4BCB8D; Max-Age=1800; Expires=Tue, 26-Oct-2021 17:24:24 GMT; Path=/; HttpOnly; SameSite=None; Secure,
      Set-Cookie: BIGipServerpool_jsmith=428037898.31808.0000; path=/; Httponly; Secure; SameSite=None; Secure, Strict-Transport-Security: max-age=63072000; includeSubDomains
    ]
    

    GlideHTTPResponse – getBody()

    Gibt eine Zeichenfolge zurück, die den Textkörper für die HTTP-Antwort enthält.

    Hinweis:
    Wenn auf den Stream bereits zugegriffen wurde, kann nicht erneut darauf zugegriffen werden. In diesem Fall gibt die Methode Null zurück.
    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Zeichenfolge HTTP-Antworttext.

    In diesem Beispiel wird gezeigt, wie mit der Methode getBody() der Inhalt der zurückgegebenen Ergebnisse eines Endpunktaufrufs angezeigt wird.

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Add the Accept header to get JSON response
    request.addHeader('Accept', 'application/json');
    request.addHeader('Content-Type','application/json');
     
    var response = request.post('{"short_description":"Test me"}');
     
    gs.print(response.getStatusCode());
    gs.print(response.getBody());

    Ausgabe

    201
    {
      "result":{
        "parent":"",
        "made_sla":"true",
        "caused_by":"",
        "watch_list":"",
        "upon_reject":"cancel",
        "sys_updated_on":"2021-10-26 14:59:22",
        "child_incidents":"0",
        "hold_reason":"",
        "task_effective_number":"INC0010003",
        "approval_history":"",
        "skills":"",
        "number":"INC0010003",
        "resolved_by":"",
        "sys_updated_by":"admin",
        "opened_by":{
          "link":"https://instanceName.servicenow.com/api/now/table/sys_user/6816f79cc0a8016401c5a33be04be441",
          "value":"6816f79cc0a8016401c5a33be04be441"
        },
        "user_input":"",
        "sys_created_on":"2021-10-26 14:59:22",
        "sys_domain":{
          "link":"https://instanceName.servicenow.com/api/now/table/sys_user_group/global",
          "value":"global"
        },
        "state":"1",
        "route_reason":"",
        "sys_created_by":"admin",
        "knowledge":"false",
        "order":"",
        "calendar_stc":"",
        "closed_at":"",
        "cmdb_ci":"",
        "delivery_plan":"",
        "contract":"",
        "impact":"3",
        "active":"true",
        "work_notes_list":"",
        "business_service":"",
        "priority":"5",
        "sys_domain_path":"/",
        "rfc":"",
        "time_worked":"",
        "expected_start":"",
        "opened_at":"2021-10-26 14:59:22",
        "business_duration":"",
        "group_list":"",
        "work_end":"",
        "caller_id":"",
        "reopened_time":"",
        "resolved_at":"",
        "approval_set":"",
        "subcategory":"",
        "work_notes":"",
        "universal_request":"",
        "short_description":"Test me",
        "close_code":"",
        "correlation_display":"",
        "delivery_task":"",
        "work_start":"",
        "assignment_group":"",
        "additional_assignee_list":"",
        "business_stc":"",
        "description":"",
        "calendar_duration":"",
        "close_notes":"",
        "notify":"1",
        "service_offering":"",
        "sys_class_name":"incident",
        "closed_by":"",
        "follow_up":"",
        "parent_incident":"",
        "sys_id":"a85f82ffdb5f30103dd9c39d13961916",
        "contact_type":"",
        "reopened_by":"",
        "incident_state":"1",
        "urgency":"3",
        "problem_id":"",
        "company":"",
        "reassignment_count":"0",
        "activity_due":"",
        "assigned_to":"",
        "severity":"3",
        "comments":"",
        "approval":"not requested",
        "sla_due":"",
        "comments_and_work_notes":"",
        "due_date":"",
        "sys_mod_count":"0",
        "reopen_count":"0",
        "sys_tags":"",
        "escalation":"0",
        "upon_approval":"proceed",
        "correlation_id":"",
        "location":"",
        "category":"inquiry"
      }
    }

    GlideHTTPResponse – getCookies()

    Gibt die Liste der Cookies zurück, die einem Endpunktaufruf zugeordnet sind.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Array Liste, die den Namen und Wert jedes Cookies als Zeichenfolge enthält.

    In diesem Beispiel wird gezeigt, wie mit der Methode getCookies() die Cookies angezeigt werden, die einer Endpunktantwort zugeordnet sind.

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Add the Accept header to get JSON response
    request.addHeader('Accept', 'application/json');
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());
    gs.print(response.getCookies());

    Ausgabe

    200
    [
      JSESSIONID=B8E5C1C0E43FEA35EC0FCB323A9DF8D1; 
      Path=/; HttpOnly; SameSite=None; Secure, glide_user=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT;
      Path=/; HttpOnly; SameSite=None; Secure, glide_user_session=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT;
      Path=/; HttpOnly; SameSite=None; Secure, glide_user_route=glide.f1aa2015b3fa5fa8dfe567386cde8fd5; Max-Age=2147483647; Expires=Sun, 13-Nov-2089 21:02:31 GMT;
      Path=/; HttpOnly; SameSite=None; Secure, glide_session_store=7406BAB7DBDF30103DD9C39D13961966; Max-Age=1800; Expires=Tue, 26-Oct-2021 18:18:24 GMT;
      Path=/; HttpOnly; SameSite=None; Secure, BIGipServerpool_jsmith=2643023626.45630.0000; path=/; Httponly; Secure; SameSite=None; Secure
    ]

    GlideHTTPResponse – getErrorCode()

    Gibt den aktuellen Fehlercode zurück, der von einem Endpunkt zurückgegeben wurde.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    Ganzzahl Der Fehlercode. Wenn keine Fehler vorliegen, wird 0 zurückgegeben.

    In diesem Beispiel wird gezeigt, wie Sie den Fehlercode der letzten Fehlermeldung anzeigen, die von der Instanz für den zugehörigen REST-Aufruf mit der Methode getErrorCode() ausgegeben wurde.

    var instance = 'dev12345'; // Instance name
    var username = 'admin';
    var password = 'yourpassword';
    var sysId = '0123456789abcdef0123456789abcdef';  // Sys_id of the incident to get
    
    // Instantiate request with the ServiceNow API incident table endpoint for deletion of an incident
    var endpoint = 'https://' + instance + '.service-now.com/api/now/table/incident/' + sysId;
    var request = new GlideHTTPRequest(endpoint);
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Delete the incident
    response = request.get();
    
    // Print the results: status code and response body
    gs.print(response.getStatusCode());
    
    // Get the last error message
    gs.print(response.getErrorCode());

    Ausgabe

    404
    1

    GlideHTTPResponse - getErrorMessage()

    Gibt den zuletzt aufgetretenen Fehler zurück.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Textzeichenfolge, die den letzten aufgetretenen Fehler beschreibt.

    In diesem Beispiel wird gezeigt, wie Sie die letzte von der Instanz für den zugehörigen REST-Aufruf ausgegebene Fehlermeldung mit der Methode getErrorMessage() anzeigen.

    var instance = 'dev12345'; // Instance name
    var username = 'admin';
    var password = 'yourpassword';
    var sysId = '0123456789abcdef0123456789abcdef';  // Sys_id of the incident to get
    
    // Instantiate request with the ServiceNow API incident table endpoint for deletion of an incident
    var endpoint = 'https://' + instance + '.service-now.com/api/now/table/incident/' + sysId;
    var request = new GlideHTTPRequest(endpoint);
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Try to get the non-existent incident
    response = request.get();
    
    // Print the results: status code and response body
    gs.print(response.getStatusCode());
    
    // Get the last error message
    gs.print(response.getErrorMessage());

    Ausgabe

    404
    Method failed: (/api/now/table/incident/0123456789abcdef0123456789abcdef) with code: 404

    GlideHTTPResponse – getHeader(String name)

    Gibt den im übergebenen Parameter angegebenen Header zurück.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name des zurückzugebenden Antwortheaders, z. B. Content-Type.
    Tabelle : 12. Rückgaben
    Typ Beschreibung
    Zeichenfolge Wert des angegebenen Headers für die aktuelle Antwort.

    In diesem Beispiel wird gezeigt, wie der Inhalt des Content-Type -Headers angezeigt wird.

    var instance = 'dev12345'; // Instance name
    var username = 'admin';
    var password = 'yourpassword';
    var sysId = '0123456789abcdef0123456789abcdef';  // Sys_id of the incident to get
    
    // Instantiate request with the ServiceNow API incident table endpoint for deletion of an incident
    var endpoint = 'https://' + instance + '.service-now.com/api/now/table/incident/' + sysId;
    var request = new GlideHTTPRequest(endpoint);
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results
    gs.print(response.getStatusCode());
    gs.print(response.getHeader("Content-Type"));

    Ausgabe

    200
    application/json

    GlideHTTPResponse – getHeaders()

    Gibt alle Header zurück, die der Endpunktantwort zugeordnet sind.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    Objekt Objekt, das alle zugeordneten Header enthält.

    In diesem Beispiel wird gezeigt, wie alle Header, die einem Endpunktaufruf zugeordnet sind, mit der Methode getHeaders() angezeigt werden.

    var instance = 'dev12345'; // Instance name
    var username = 'admin';
    var password = 'yourpassword';
    var sysId = '0123456789abcdef0123456789abcdef';  // Sys_id of the incident to get
    
    // Instantiate request with the ServiceNow API incident table endpoint for deletion of an incident
    var endpoint = 'https://' + instance + '.service-now.com/api/now/table/incident/' + sysId;
    var request = new GlideHTTPRequest(endpoint);
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results
    gs.print(response.getStatusCode());
    gs.print(response.getHeaders());

    Ausgabe

    200
    {
      Transfer-Encoding=chunked, 
      Strict-Transport-Security=max-age=63072000; includeSubDomains,
      Cache-Control=no-cache, no-store, must-revalidate,
      max-age=-1,
      Server=ServiceNow,
      X-Content-Type-Options=nosniff,
      X-Transaction-ID=399f8f73db13,
      X-Is-Logged-In=true,
      Set-Cookie=BIGipServerpool_jsmith=2643023626.45630.0000; path=/; Httponly; Secure; SameSite=None; Secure,
      Pragma=no-store,no-cache, Expires=0, Date=Tue, 26 Oct 2021 19:40:10 GMT, 
      Content-Type=application/json;charset=UTF-8
    }
    

    GlideHTTPResponse - getHttpMethod()

    Gibt die HTTP-Methode zurück, die dem angegebenen Endpunktaufruf zugeordnet ist.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 16. Ergebnisse
    Typ Beschreibung
    Zeichenfolge HTTP-Methode, die dem Endpunktaufruf zugeordnet ist, z. B. org.apache.commons.httpclient.methods.GetMethod@f83e63.

    Format: org.apache.commons.httpclient.methods<Method>

    In diesem Beispiel wird gezeigt, wie die HTTP-Methode angezeigt wird, die beim Aufrufen des zugeordneten Endpunkts mit der getMethod()- Methode verwendet wird.

    var instance = 'dev12345'; // Instance name
    var username = 'admin';
    var password = 'yourpassword';
    var sysId = '0123456789abcdef0123456789abcdef';  // Sys_id of the incident to get
    
    // Instantiate request with the ServiceNow API incident table endpoint for deletion of an incident
    var endpoint = 'https://' + instance + '.service-now.com/api/now/table/incident/' + sysId;
    var request = new GlideHTTPRequest(endpoint);
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results
    gs.print(response.getStatusCode());
    gs.print(response.getHttpMethod());

    Ausgabe

    200
    org.apache.commons.httpclient.methods.GetMethod@f83e63

    GlideHTTPResponse – getStatusCode()

    Gibt den letzten Statuscode für einen Endpunktaufruf zurück.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 18. Ergebnisse
    Typ Beschreibung
    int Statuscode der HTTP-Antwort.

    In diesem Beispiel wird gezeigt, wie Sie den Statuscode eines REST-Aufrufs abrufen, nachdem er mit der Methode getStatusCode() ausgeführt wurde.

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Add the 'sysparm_limit' parameter to limit the number of records returned
    request.addParameter('sysparm_limit', 1);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code
    gs.print(response.getStatusCode());

    Ausgabe:

    200

    GlideHTTPResponse – haveError()

    Gibt eine Kennzeichnung zurück, die angibt, ob bei der Verarbeitung des Endpunktaufrufs Fehler aufgetreten sind.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 20. Ergebnisse
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob bei der Verarbeitung des Endpunktaufrufs Fehler aufgetreten sind.
    Gültige Werte:
    • „wahr“: Bei der Verarbeitung des Endpunkts ist ein Fehler aufgetreten.
    • „falsch“: Keine Fehler während der Verarbeitung des Endpunkts.
    Gibt „true“ zurück, wenn ein Fehler aufgetreten ist, oder „false“, wenn keine Fehler vorliegen

    Dieses Beispiel zeigt, wie mit der Methode „aveError()“ kein Fehler gekennzeichnet wird, wenn die sys_id für einen Incident gültig ist.

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Valid sys_id of an incident record
    var sysId = 'a85f82ffdb5f30103dd9c39d13961916';  // Sys_id of the incident to get
    
    // Instantiate request with the ServiceNow API incident table endpoint for deletion of an incident
    var endpoint = 'https://' + instance + '.service-now.com/api/now/table/incident/' + sysId;
    var request = new GlideHTTPRequest(endpoint);
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results
    gs.print(response.getStatusCode());
    gs.print(response.haveError());

    Ausgabe

    200
    false

    Dieses Beispiel zeigt, wie ein Fehler mithilfe der Methode „habenError()“ gekennzeichnet wird, wenn die sys_id für einen Incident nicht gültig ist (nicht gefunden).

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Invalid sys_id
    var sysId = 'a85f82ffdb5f30103dd9c39d13961832';  // Sys_id of the incident to get
    
    // Instantiate request with the ServiceNow API incident table endpoint for deletion of an incident
    var endpoint = 'https://' + instance + '.service-now.com/api/now/table/incident/' + sysId;
    var request = new GlideHTTPRequest(endpoint);
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results
    gs.print(response.getStatusCode());
    gs.print(response.haveError());

    Ausgabe

    404
    true