GlideHTTPResponse - Global

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 8 min. de leitura
  • A API GlideHTTPResponse fornece métodos de utilitário para executar funções comuns com respostas HTTP do Glide.

    GlideHTTPResponse – getAllHeaders()

    Retorna uma lista de todos os cabeçalhos.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    Matriz Lista de todos os cabeçalhos associados à chamada de endpoint.

    Este exemplo mostra como excluir um incidente especificado da tabela Incidente usando o método del().

    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());

    Saída

    [
      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()

    Retorna uma cadeia de caracteres que contém o corpo da resposta HTTP.

    Nota:
    Se o fluxo já tiver sido acessado, ele não poderá ser acessado novamente. Nesse caso, o método retornará nulo.
    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    Cadeia de caracteres Corpo da resposta HTTP.

    Este exemplo mostra como usar o método getBody() para exibir o conteúdo dos resultados de retorno de uma chamada de endpoint.

    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());

    Saída

    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()

    Retorna a lista de cookies associados a uma chamada de endpoint.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. Retorna
    Tipo Descrição
    Matriz Lista que contém o nome e o valor de cada cookie como uma cadeia de caracteres.

    Este exemplo mostra como usar o método getCookies() para exibir os cookies associados a uma resposta de endpoint.

    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());

    Saída

    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()

    Retorna o código de erro atual retornado por um endpoint.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 8. Retorna
    Tipo Descrição
    Números inteiros O código de erro. 0 será retornado se não houver erros.

    Este exemplo mostra como exibir o código de erro da última mensagem de erro lançada pela instância para a chamada REST associada usando o método getErrorCode().

    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());

    Saída

    404
    1

    GlideHTTPResponse – getErrorMessage()

    Retorna o último erro encontrado.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    Cadeia de caracteres Cadeia de caracteres de texto que descreve o último erro encontrado.

    Este exemplo mostra como exibir a última mensagem de erro lançada pela instância para a chamada REST associada usando o método getErrorMessage().

    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());

    Saída

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

    GlideHTTPResponse – getHeader(String name)

    Retorna o cabeçalho especificado no parâmetro passado.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do cabeçalho de resposta a ser retornado, como Content-Type.
    Tabela 12. Retornos
    Tipo Descrição
    Cadeia de caracteres Valor do cabeçalho especificado para a resposta atual.

    Este exemplo mostra como exibir o conteúdo do cabeçalho Content-Type.

    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"));

    Saída

    200
    application/json

    GlideHTTPResponse – getHeaders()

    Retorna todos os cabeçalhos associados à resposta do endpoint.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 14. Retorna
    Tipo Descrição
    Objeto Objeto que contém todos os cabeçalhos associados.

    Este exemplo mostra como exibir todos os cabeçalhos associados a uma chamada de endpoint usando o método getHeaders().

    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());

    Saída

    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()

    Retorna o método HTTP associado à chamada de endpoint especificada.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 16. Retorna
    Tipo Descrição
    Cadeia de caracteres Método HTTP associado à chamada do endpoint, como org.apache.commons.httpclient.methods.GetMethod@f83e63.

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

    Este exemplo mostra como exibir o método HTTP usado ao chamar o endpoint associado usando o método getMethod().

    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());

    Saída

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

    GlideHTTPResponse – getStatusCode()

    Retorna o último código de status de uma chamada de endpoint.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 18. Retorna
    Tipo Descrição
    Número inteiro Código de status de resposta HTTP.

    Este exemplo mostra como obter o código de status de uma chamada REST depois que ela é executada usando o método getStatusCode().

    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());

    Saída:

    200

    GlideHTTPResponse – haveError()

    Retorna um sinalizador que indica se houve erros durante o processamento da chamada de endpoint.

    Tabela 19. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 20. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se houve erros ao processar a chamada do endpoint.
    Valores válidos:
    • verdadeiro: ocorreu um erro durante o processamento do endpoint.
    • falso: não há erros durante o processamento do endpoint.
    Retorna verdadeiro se ocorreu um erro ou falso se não houver erros

    Este exemplo mostra como nenhum erro é sinalizado quando o sys_id de um incidente é válido usando o método haveError().

    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());

    Saída

    200
    false

    Este exemplo mostra como um erro é sinalizado quando o sys_id de um incidente não é válido (não encontrado) usando o método haveError().

    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());

    Saída

    404
    true