CMDBQBScopedScriptableAPI : inclus dans le périmètre
Fournit des méthodes pour exécuter Base de données de gestion des configurations (CMDB) les opérations du générateur de requêtes dans des scripts côté serveur.
Cette API est l’équivalent dans le champ d’application de CMDBQueryBuilderAPI : global.
Cette API nécessite le module d’extension Configuration Management for Scoped Apps (com.snc.cmdb.scoped) et est fournie dans l’espace de noms sn_cmdb .
Pour en savoir plus sur le générateur de requêtes, reportez-vous CMDB à la section CMDB Query Builder.
CMDBQBScopedScriptableAPI : createReport(String savedQueryId, String savedQueryName)
Crée un rapport qui affiche les résultats d’une Base de données de gestion des configurations (CMDB) requête du générateur de requêtes et renvoie l’URL du rapport.
| Nom | Type | Description |
|---|---|---|
| savedQueryId | Chaîne | Sys_id de la requête à utiliser pour le rapport. Situé dans la table Requêtes enregistrées [qb_saved_query]. Ce paramètre n’est pas requis si un nom de requête est fourni. |
| savedQueryName | Chaîne | Nom de la requête à utiliser pour le rapport. Situé dans le champ Nom de l’enregistrement de requête dans la table Requêtes enregistrées [qb_saved_query]. Ce paramètre n’est pas requis si un sys_id de requête est fourni. |
| Type | Description |
|---|---|
| Objet | Objet contenant des détails sur le rapport créé et les erreurs éventuelles. |
| <Object>.erreur | Code d’erreur. Renvoyé lorsque la création du rapport échoue ou que des paramètres d’entrée non valides sont fournis. Erreurs possibles :
Type de données : chaîne |
| <Object>.Message | Message contenant des détails sur la réussite ou l’échec de la création du rapport. Messages possibles :
Type de données : chaîne |
| <Object>.statut | Code d’état. Renvoyé lorsque la mise à jour est réussie. Valeur : Type de données : chaîne |
Cet exemple montre comment créer un rapport en transmettant un nom de requête enregistré.
gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.createReport('','CMDBQueryTest1')));
Sortie :
{
"message":"\/sys_report_template.do?sysparm_report_source_id=6d299cf81bbd4210bccf42a3b24bcb7a&sysparm_type=list&sysparm_title=CMDBQueryTest1&sysparm_source_type=source&sysparm_from_list=true&sysparm_chart_size=large&sysparm_manual_labor=true",
"status":"success"
}
Cet exemple montre une erreur lorsque le sys_id et le nom de la requête sont tous deux absents de l’appel de méthode.
gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.createReport('', '')));
Sortie :
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}
CMDBQBScopedScriptableAPI : deleteQuery(String savedQueryId, String savedQueryName)
Supprime une Base de données de gestion des configurations (CMDB) requête du générateur de requêtes.
| Nom | Type | Description |
|---|---|---|
| savedQueryId | Chaîne | Sys_id de la requête à supprimer. Situé dans la table Requêtes enregistrées [qb_saved_query]. Ce paramètre n’est pas requis si un nom de requête est fourni. |
| savedQueryName | Chaîne | Nom de la requête à supprimer. Situé dans le champ Nom de l’enregistrement de requête dans la table Requêtes enregistrées [qb_saved_query]. Ce paramètre n’est pas requis si un sys_id de requête est fourni. |
| Type | Description |
|---|---|
| Objet | Objet contenant des détails sur la requête supprimée et les erreurs éventuelles. |
| <Object>.erreur | Code d’erreur. Renvoyé lorsque l’opération de suppression échoue ou que des paramètres d’entrée non valides sont fournis. Erreurs possibles :
Type de données : chaîne |
| <Object>.Message | Message contenant des détails sur la réussite ou l’échec de l’opération de suppression. Messages possibles :
Type de données : chaîne |
| <Object>.statut | Code d’état. Renvoyé lorsque la mise à jour est réussie. Valeur : Type de données : chaîne |
Cet exemple montre comment supprimer une requête enregistrée en transmettant le nom de la requête.
gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.deleteQuery('', 'CMDBQueryTest1')));
Sortie :
{
"message":"Successfully deleted the saved query",
"status":"success"
}
Cet exemple montre une erreur lorsque le sys_id et le nom de la requête sont tous deux absents de l’appel de méthode.
gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.deleteQuery('', '')));
Sortie :
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}
CMDBQBScopedScriptableAPI : getSavedQueryExecutionDetails(String savedQueryName, Boolean executeQuery, Number timeout)
Renvoie les détails d’exécution d’une requête du générateur de Base de données de gestion des configurations (CMDB) requêtes.
Vous pouvez éventuellement exécuter la requête afin de renvoyer les détails de l’exécution actuelle.
Si un problème de délai d’expiration ou de mémoire se produit lors de l’exécution de la requête, vous pouvez affiner la taille du lot de requête pour aider à atténuer ces problèmes. Pour plus d’informations, consultez Taille du lot pour les requêtes enregistrées dans le générateur de requêtes.
| Nom | Type | Description |
|---|---|---|
| savedQueryName | Chaîne | Nom de la requête pour récupérer les détails de l’exécution. Situé dans le champ Nom de l’enregistrement de requête dans la table Requêtes enregistrées [qb_saved_query]. |
| executeQuery | Booléen | Facultatif. Marqueur indiquant s’il faut exécuter la requête spécifiée. Valeurs valides :
Valeur par défaut : false |
| timeout | Numéro | Facultatif. Valeur entière qui remplace la limite de délai d’expiration d’exécution de requête par défaut de cinq minutes. Unité : Secondes Par défaut : cinq minutes |
| Type | Description |
|---|---|
| Objet | Objet contenant des détails sur l’exécution de la requête et les erreurs éventuelles. |
| <Object>.erreur | Code d’erreur. Renvoyé lorsque l’exécution de la requête échoue ou que la requête spécifiée est introuvable. Erreurs possibles :
Type de données : chaîne |
| <Object>.Message | Message contenant des détails sur le code d’erreur. Renvoyé lorsque l’exécution de la requête échoue ou que la requête spécifiée est introuvable. Messages possibles :
Type de données : chaîne |
| <Object>.query_id | Sys_id de l’exécution de la requête. Situé dans la table État de la requête [qb_query_status]. Type de données : chaîne |
| <Object>.statut | État de l’exécution de la requête.
Type de données : chaîne |
| <Object>.table_name | Nom de la table qui contient les détails d’exécution de la requête. Type de données : chaîne |
Cet exemple montre comment exécuter une requête enregistrée et définir la valeur du délai d’exécution de la requête sur 10 minutes.
gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.getSavedQueryExecutionDetails('Test', true, 600)));
Sortie :
{
"query_id":"024fd53a7773330033b5270bba106141",
"table_name":"u_cmdb_qb_result_598918aacb4dbf3f1a8dcf03fce6a5d57151a4e2",
"status":COMPLETE
}
CMDBQBScopedScriptableAPI : saveQuery(String savedQueryName, String queryJson)
Enregistre une Base de données de gestion des configurations (CMDB) requête du générateur de requêtes et renvoie la sys_id de la requête enregistrée.
| Nom | Type | Description |
|---|---|---|
| savedQueryName | Chaîne | Nom sous lequel enregistrer la requête. Le nom est enregistré dans le champ Nom de l’enregistrement de requête dans la table Requêtes enregistrées [qb_saved_query]. |
| queryJson | Chaîne | JSON qui définit la requête. Le JSON est enregistré dans le champ Requête de l’enregistrement de requête de la table Requêtes enregistrées [qb_saved_query]. |
| Type | Description |
|---|---|
| Objet | Objet contenant des détails sur la requête enregistrée et les erreurs éventuelles. |
| <Object>.erreur | Code d’erreur. Renvoyé lorsque l’opération d’enregistrement échoue ou que des paramètres d’entrée non valides sont fournis. Erreurs possibles :
Type de données : chaîne |
| <Object>.Message | Message contenant des détails sur la réussite ou l’échec de l’opération de sauvegarde. Messages possibles :
Type de données : chaîne |
| <Object>.statut | Code d’état. Renvoyé lorsque l’opération d’enregistrement est réussie. Valeur : Type de données : chaîne |
Cet exemple montre comment ajouter une requête à la table Requêtes enregistrées [qb_saved_query].
var queryJson = "{\"type\":\"cmdb\",\"nodes\":[{\"label\":\"Server\",\"unique_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/server.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_server\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_server\",\"ci_type_label\":\"Server\",\"sys_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"x\":72,\"y\":337,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":true,\"nodeId\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"name\":\"Server 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"className\":\"cmdb_ci_server\"},{\"label\":\"Database\",\"unique_id\":\"b640269c1b310210bccf42a3b24bcb36\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/database.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_database\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_database\",\"ci_type_label\":\"Database\",\"sys_id\":\"b640269c1b310210bccf42a3b24bcb36\",\"x\":510,\"y\":340,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":false,\"nodeId\":\"b640269c1b310210bccf42a3b24bcb36_4_23_2024_5_50_57\",\"name\":\"Database 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"b640269c1b310210bccf42a3b24bcb36_4_23_2024_5_50_57\",\"className\":\"cmdb_ci_database\"}],\"edges\":[{\"id\":\"Server 1_Database 1\",\"from\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"to\":\"b640269c1b310210bccf42a3b24bcb36_4_23_2024_5_50_57\",\"isDotted\":false,\"type\":\"relation\",\"isReverse\":false,\"direction\":\"outbound\",\"hiddenLevel\":0,\"relations\":[\"607ad1b2c0a8010e01941856b365af90\",\"1a9cb166f1571100a92eb60da2bce5c5\"]}],\"usedNames\":{\"cmdb_ci_server\":1,\"cmdb_ci_database\":1}}";
gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.saveQuery('CMDBQueryTest1', queryJson)));
Sortie :
{
"message":"Successfully saved the query with sysId d93f96981b310210bccf42a3b24bcb41",
"status":"success"
}
Cet exemple montre une erreur lorsqu’une requête JSON non valide est fournie.
var queryJson = "Test";
gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.saveQuery('Test', queryJson)));
Sortie :
{
"error":"QUERY_INVALID",
"message":"QueryJson is invalid. Please provide a valid queryJson"
}
CMDBQBScopedScriptableAPI : updateQuery(String savedQueryId, String savedQueryName, String queryJson)
Met à jour le JSON pour une requête du générateur de Base de données de gestion des configurations (CMDB) requêtes.
| Nom | Type | Description |
|---|---|---|
| savedQueryId | Chaîne | Sys_id de la requête à mettre à jour. Situé dans la table Requêtes enregistrées [qb_saved_query]. Ce paramètre n’est pas requis si un nom de requête est fourni. |
| savedQueryName | Chaîne | Nom de la requête à mettre à jour. Situé dans le champ Nom de l’enregistrement de requête dans la table Requêtes enregistrées [qb_saved_query]. Ce paramètre n’est pas requis si un sys_id de requête est fourni. |
| queryJson | Chaîne | JSON avec lequel mettre à jour la requête. Le JSON est enregistré dans le champ Requête de l’enregistrement de requête de la table Requêtes enregistrées [qb_saved_query]. |
| Type | Description |
|---|---|
| Objet | Objet contenant des détails sur la requête mise à jour et les erreurs éventuelles. |
| <Object>.erreur | Code d’erreur. Renvoyé lorsque la mise à jour échoue ou que des paramètres d’entrée non valides sont fournis. Erreurs possibles :
Type de données : chaîne |
| <Object>.Message | Message contenant des détails sur la réussite ou l’échec de la mise à jour. Messages possibles :
Type de données : chaîne |
| <Object>.statut | Code d’état. Renvoyé lorsque la mise à jour est réussie. Valeur : Type de données : chaîne |
Cet exemple montre comment mettre à jour une requête enregistrée en transmettant le nom de la requête.
var queryJson = "{\"type\":\"cmdb\",\"nodes\":[{\"label\":\"Server\",\"unique_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/server.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_server\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_server\",\"ci_type_label\":\"Server\",\"sys_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"x\":72,\"y\":336,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":true,\"nodeId\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"name\":\"Server 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"className\":\"cmdb_ci_server\"},{\"label\":\"Web Server\",\"unique_id\":\"984f5a981b310210bccf42a3b24bcb03\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/web_server.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_web_server\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_web_server\",\"ci_type_label\":\"Web Server\",\"sys_id\":\"984f5a981b310210bccf42a3b24bcb03\",\"x\":446,\"y\":330,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":false,\"nodeId\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"name\":\"Web Server 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"className\":\"cmdb_ci_web_server\"}],\"edges\":[{\"id\":\"Server 1_Web Server 1\",\"from\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"to\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"isDotted\":false,\"type\":\"relation\",\"isReverse\":false,\"direction\":\"outbound\",\"hiddenLevel\":0,\"relations\":[\"607ad1b2c0a8010e01941856b365af90\"]}],\"usedNames\":{\"cmdb_ci_server\":1,\"cmdb_ci_database\":1,\"cmdb_ci_web_server\":1}}";
gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.updateQuery('', 'CMDBQueryTest1', queryJson)));
Sortie :
{
"message":"Successfully updated the saved query",
"status":"success"
}
Cet exemple montre une erreur lorsque le sys_id et le nom de la requête sont tous deux absents de l’appel de méthode.
var queryJson = "{\"type\":\"cmdb\",\"nodes\":[{\"label\":\"Server\",\"unique_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/server.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_server\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_server\",\"ci_type_label\":\"Server\",\"sys_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"x\":72,\"y\":336,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":true,\"nodeId\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"name\":\"Server 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"className\":\"cmdb_ci_server\"},{\"label\":\"Web Server\",\"unique_id\":\"984f5a981b310210bccf42a3b24bcb03\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/web_server.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_web_server\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_web_server\",\"ci_type_label\":\"Web Server\",\"sys_id\":\"984f5a981b310210bccf42a3b24bcb03\",\"x\":446,\"y\":330,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":false,\"nodeId\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"name\":\"Web Server 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"className\":\"cmdb_ci_web_server\"}],\"edges\":[{\"id\":\"Server 1_Web Server 1\",\"from\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"to\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"isDotted\":false,\"type\":\"relation\",\"isReverse\":false,\"direction\":\"outbound\",\"hiddenLevel\":0,\"relations\":[\"607ad1b2c0a8010e01941856b365af90\"]}],\"usedNames\":{\"cmdb_ci_server\":1,\"cmdb_ci_database\":1,\"cmdb_ci_web_server\":1}}";
gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.updateQuery('', '', queryJson)));
Sortie :
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}