GlideHTTPRequest : global
L’API GlideHTTPRequest fournit des méthodes utilitaires permettant d’exécuter des fonctions courantes avec les demandes HTTP Glide.
Vous pouvez utiliser cette API dans des scripts globaux côté serveur. Pour utiliser cette classe, instanciez un objet GlideHTTPRequest à l’aide du constructeur. Le constructeur nécessite une URL de point de terminaison comme paramètre d’entrée.
GlideHTTPRequest - addHeader(nom de chaîne, valeur de chaîne)
Ajoute un en-tête à votre requête HTTP.
| Nom | Type | Description |
|---|---|---|
| nom | Chaîne | Nom de l’en-tête, par exemple Accepter ou Type de contenu. |
| valide | Chaîne | Valeur de l’en-tête, telle que application/json. |
| Type | Description |
|---|---|
| nul |
Cet exemple ajoute l’en-tête de demande « Accepter » et renvoie le nombre d’incidents d’une instance ServiceNow, en analysant les réponses JSON ou XML.
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);
Sortie
200
(JSON) Incidents returned: 66
200
(XML) Incidents returned: 66
GlideHTTPRequest - addParameter(nom de chaîne, valeur de chaîne)
Ajoute un paramètre à votre requête HTTP.
| Nom | Type | Description |
|---|---|---|
| nom | Chaîne | Paramètre à ajouter, par sysparm_limitexemple . |
| valide | Chaîne | Valeur du paramètre. |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment ajouter le sysparm_limit paramètre à l’appel de point de terminaison REST pour limiter le nombre de réponses renvoyées.
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);
Sortie :
200
Incidents returned: 1
GlideHTTPRequest - setBasicAuth(String userName, String password)
Définit un nom d’utilisateur et un mot de passe pour l’authentification de base.
| Nom | Type | Description |
|---|---|---|
| userName | Chaîne | Nom d’utilisateur à utiliser pour l’authentification. |
| mot de passe | Chaîne | Mot de passe de l’utilisateur à utiliser pour l’authentification. |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment utiliser la méthode setBasicAuth() pour définir le nom d’utilisateur et le mot de passe de l’appel de point de terminaison REST associé.
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);
Sortie
200
(JSON) Incidents returned: 66
200
(XML) Incidents returned: 66
GlideHTTPRequest : setContentType (type de chaîne)
Définit l’en-tête Content-Type de votre demande HTTP sur la valeur spécifiée.
| Nom | Type | Description |
|---|---|---|
| type | Chaîne | Type de contenu à définir, par exemple application/json ou multipart/form-data. Pour plus d’informations sur le type de contenu, reportez-vous à https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type. |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment définir l’en-tête de demande Content-Type pour un appel de point de terminaison REST à l’aide de la méthode setContentType().
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());
Sortie
200
GlideHTTPRequest - setFollowRedirect(booléen followRedirect)
Active ou désactive l’option de redirection de suivi pour un appel de point de terminaison REST.
Pour en savoir plus sur les redirections HTTP, reportez-vous à la section https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections.
| Nom | Type | Description |
|---|---|---|
| followRedirect | Booléen | Marqueur indiquant si le point de terminaison doit suivre une redirection d’URL renvoyée par le point de terminaison. Valeurs valides : Valeur par défaut : true
|
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment désactiver les redirections pour un appel de point de terminaison à l’aide de la méthode setFollowRedirect().
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());
Sortie
200
GlideHTTPRequest : setHttpTimeout(int timeout)
Définit la valeur du délai d’expiration HTTP en millisecondes.
| Nom | Type | Description |
|---|---|---|
| timeout | Entier | Valeur du délai d’expiration à définir. Unité : millisecondes |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment définir la valeur de délai d’expiration d’un appel de point de terminaison à l’aide de la méthode setTimeout().
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());
Sortie
200
GlideHTTPRequest : setLogLevel(String logLevel)
Définit le niveau de journalisation d’une requête HTTP.
| Nom | Type | Description |
|---|---|---|
| Loglevel | Chaîne | Niveau de journalisation disponible. Remarque : Pour des raisons de performances, en production, il est conseillé de laisser la journalisation des requêtes HTTP à l’adresse basic. Valeurs valides :
Valeur par défaut : basique |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment définir le niveau de journalisation d’un appel de point de terminaison à l’aide de la méthode setLogLevel().
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());
Sortie
200
GlideHTTPRequest : setupProxy(String host, String port)
Définit l’hôte proxy et le port pour l’appel REST associé.
| Nom | Type | Description |
|---|---|---|
| hôte | Chaîne | Hôte proxy |
| port | Chaîne | Port proxy |
| Type | Description |
|---|---|
| nul |