GlideHTTPRequest - Global

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 16분
  • 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.

    표 1. Parameters
    Name Type Description
    name String Header name, such as Accept or Content-Type.
    value String Header value, such as application/json.
    표 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.

    표 3. Parameters
    Name Type Description
    name String Parameter to add, such as sysparm_limit.
    value String Value for the parameter.
    표 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.

    표 5. Parameters
    Name Type Description
    userName String User name to use for authentication.
    password String User's password to use for authentication.
    표 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.

    표 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.
    표 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.

    표 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
    표 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.

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

    Unit: Milliseconds

    표 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.

    표 13. Parameters
    Name Type Description
    logLevel String The level of logging available.
    주:
    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

    표 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.

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