GlideHTTPRequest - Global

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 5 minutes de lecture
  • The GlideHTTPRequest API provides utility methods to perform common functions with Glide HTTP requests.

    You can use this API in global server-side scripts. To use this class, instantiate a GlideHTTPRequest object using the constructor. The constructor requires an endpoint URL as an input parameter.

    GlideHTTPRequest - addHeader(String name, String value)

    Adds a header to your HTTP request.

    Tableau 1. Parameters
    Name Type Description
    name String Header name, such as Accept or Content-Type.
    value String Header value, such as application/json.
    Tableau 2. Returns
    Type Description
    void

    This example adds the request header "Accept" and returns the number of the incidents from a ServiceNow Instance, parsing the JSON or XML responses.

    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('(JSON) Incidents returned: ' + JSON.parse(response.getBody()).result.length);
    
    // Replace the Accept header to get XML response
    request.addHeader('Accept', 'application/xml');
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());
    gs.print('(XML) Incidents returned: ' + gs.xmlToJSON(response.getBody()).response.result.length);

    Output

    200
    (JSON) Incidents returned: 66
    200
    (XML) Incidents returned: 66

    GlideHTTPRequest - addParameter(String name, String value)

    Adds a parameter to your HTTP request.

    Tableau 3. Parameters
    Name Type Description
    name String Parameter to add, such as sysparm_limit.
    value String Value for the parameter.
    Tableau 4. Returns
    Type Description
    void

    This example shows how to add the sysparm_limit parameter to the REST endpoint call to limit the number of returned responses.

    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 and number of records returned
    gs.print(response.getStatusCode());
    gs.print('Incidents returned: ' + JSON.parse(response.getBody()).result.length);

    Output:

    200
    Incidents returned: 1

    GlideHTTPRequest - setBasicAuth(String userName, String password)

    Sets a user name and password for basic authentication.

    Tableau 5. Parameters
    Name Type Description
    userName String User name to use for authentication.
    password String User's password to use for authentication.
    Tableau 6. Returns
    Type Description
    void

    This example shows how to use the setBasicAuth() method to set the user name and password for the associated REST endpoint call.

    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('(JSON) Incidents returned: ' + JSON.parse(response.getBody()).result.length);
    
    // Replace the Accept header to get XML response
    request.addHeader('Accept', 'application/xml');
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());
    gs.print('(XML) Incidents returned: ' + gs.xmlToJSON(response.getBody()).response.result.length);

    Output

    200
    (JSON) Incidents returned: 66
    200
    (XML) Incidents returned: 66

    GlideHTTPRequest - setContentType(String type)

    Sets the Content-Type header for your HTTP request to the specified value.

    Tableau 7. Parameters
    Name Type Description
    type String Content type to set, such as application/json or multipart/form-data. For additional information on Content-Type, see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type.
    Tableau 8. Returns
    Type Description
    void

    This example shows how to set the Content-Type request header for a REST endpoint call using the setContentType() method.

    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);
    
    // Set up incident record to post
    
    // Set the Content-Type of the POST
    request.setContentType('application/json');
    
    // Execute the POST request
    var response = request.post();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());

    Output

    200
    

    GlideHTTPRequest - setFollowRedirect(boolean followRedirect)

    Enables or disables the follow redirect option for a REST endpoint call.

    For additional information on HTTP redirects, see https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections.

    Tableau 9. Parameters
    Name Type Description
    followRedirect Boolean Flag that indicates whether the endpoint should follow any URL redirect returned by the endpoint.
    Valid values:
    • true: Following any returned redirect.
    • false: Ignore any returned redirect.
    Default: true
    Tableau 10. Returns
    Type Description
    void

    This example shows how to turn off redirects for an endpoint call using the setFollowRedirect() method.

    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');
    
    // Turn off follow redirect - default is on (true)
    request.setFollowRedirect(false);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());

    Output

    200

    GlideHTTPRequest - setHttpTimeout(int timeout)

    Sets the HTTP timeout value in milliseconds.

    Tableau 11. Parameters
    Name Type Description
    timeout Integer Timeout value to set.

    Unit: Milliseconds

    Tableau 12. Returns
    Type Description
    void

    This example shows how to set the time out value for an endpoint call using the setTimeout() method.

    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');
    
    // Set the time out value
    request.setHttpTimeOut(1000);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());

    Output

    200

    GlideHTTPRequest - setLogLevel(String logLevel)

    Sets the log level for an HTTP request.

    Tableau 13. Parameters
    Name Type Description
    logLevel String The level of logging available.
    Remarque :
    For performance reasons, in production it is advisable to leave HTTP request logging at basic.

    Valid values:

    • basic: Covers many of the attributes of the HTTP transaction including host, path, response status, and so on.
    • elevated: Includes all of basic, as well as all request headers, the query string, and all response headers.
    • all: Includes all of elevated, as well as the request body and the response body.

    Default: basic

    Tableau 14. Returns
    Type Description
    void

    This example shows how to set the log level for an endpoint call using the setLogLevel() method.

    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');
    
    // Set the time out value
    request.setLogLevel(elevated);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());

    Output

    200

    GlideHTTPRequest - setupProxy(String host, String port)

    Sets the proxy host and port for the associated REST call.

    Tableau 15. Parameters
    Name Type Description
    host String Proxy host
    port String Proxy port
    Tableau 16. Returns
    Type Description
    void