CMDBQueryBuilderAPI : global

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 8 minutes de lecture
  • Fournit des méthodes pour exécuter Base de données de gestion des configurations (CMDB) des opérations du générateur de requêtes dans des scripts côté serveur.

    Cette API nécessite l’application Base de données de gestion des configurations (CMDB) (com.snc.cmdb).

    Pour utiliser ces méthodes dans une application incluse dans le périmètre, reportez-vous à la section CMDBQBScopedScriptableAPI : dans le champ d’application.

    Pour plus d’informations sur le CMDB générateur de requêtes, reportez-vous à la section CMDB Query Builder.

    CMDBQueryBuilderAPI : 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.

    Tableau 1. Paramètres
    Nom Type Description
    savedQueryId Chaîne Sys_id de la requête à utiliser pour le rapport.

    Ce paramètre n’est pas requis si un nom de requête est fourni.

    Table : requêtes enregistrées [qb_saved_query]

    nom_requête sauvegardé Chaîne Nom de la requête à utiliser pour le rapport.

    Ce paramètre n’est pas requis si une sys_id de requête est fournie.

    Table : enregistrée dans le champ Nom de la table Requêtes enregistrées [qb_saved_query].

    Tableau 2. Renvoie
    Type Description
    Objet Détails sur le rapport créé et les éventuelles erreurs.
    {
      "error": "String",
      "message": "String",
      "status": "String"
    }
    <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 :

    • USER_NOT_AUTHORIZED_EXCEPTION
    • INVALID_PARAM
    • QUERY_SYS_ID_INVALID

    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 :

    • <url-rapport>
    • L’utilisateur n’est pas autorisé à créer un rapport de requête CMDBQueryBuilder
    • Paramètres non valides. Veuillez fournir un sysId valide ou un nom valide d’une requête enregistrée
    • queryId non valide. Veuillez fournir un ID de requête enregistrée valide

    Type de données : chaîne

    <Object>.statut Code d’état. Renvoyé lorsque la mise à jour réussit.

    Valeur : succès

    Type de données : chaîne

    Cet exemple montre comment créer un rapport en transmettant un nom de requête enregistré.

    SNC.CMDBQueryBuilderAPI.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 nom de requête fourni n’est pas valide.

    SNC.CMDBQueryBuilderAPI.createReport('', 'Test');

    Sortie :

    {
       "error":"INVALID_PARAM",
       "message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
    }

    CMDBQueryBuilderAPI : 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.

    Tableau 3. Paramètres
    Nom Type Description
    savedQueryId Chaîne Sys_id de la requête à supprimer.

    Ce paramètre n’est pas requis si un nom de requête est fourni.

    Table : requêtes enregistrées [qb_saved_query]

    nom_requête sauvegardé Chaîne Nom de la requête à supprimer.

    Ce paramètre n’est pas requis si une sys_id de requête est fournie.

    Table : enregistrée dans le champ Nom de la table Requêtes enregistrées [qb_saved_query].

    Tableau 4. Renvoie
    Type Description
    Objet Détails sur la requête supprimée et les éventuelles erreurs.
    {
      "error": "String",
      "message": "String",
      "status": "String"
    }
    <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 :

    • USER_NOT_AUTHORIZED_EXCEPTION
    • INVALID_PARAM
    • QUERY_DELETE_FAILED

    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 :

    • La requête enregistrée a été supprimée avec succès
    • L’utilisateur n’est pas autorisé à supprimer une requête CMDBQueryBuilder
    • Paramètres non valides. Veuillez fournir un sysId valide ou un nom valide d’une requête enregistrée
    • Échec de la suppression de la requête enregistrée donnée

    Type de données : chaîne

    <Object>.statut Code d’état. Renvoyé lorsque la mise à jour réussit.

    Valeur : succès

    Type de données : chaîne

    Cet exemple montre comment supprimer une requête enregistrée en transmettant le nom de la requête.

    SNC.CMDBQueryBuilderAPI.deleteQuery('', 'CMDBQueryTest1');

    Sortie :

    {
       "message":"Successfully deleted the saved query",
       "status":"success"
    }

    CMDBQueryBuilderAPI : getSavedQueryExecutionDetails(String savedQueryName, booléen executeQuery, délai d’expiration du numéro)

    Renvoie les détails d’exécution d’une Base de données de gestion des configurations (CMDB) requête du générateur de 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 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.

    Tableau 5. Paramètres
    Nom Type Description
    nom_requête sauvegardé Chaîne Nom de la requête pour laquelle récupérer les détails de l’exécution.

    Table : champ Nom de la table Requêtes enregistrées [qb_saved_query].

    exécuter la requête Booléen Facultatif. Marqueur indiquant s’il faut exécuter ou non la requête spécifiée.

    Valeurs valides :

    • vrai : exécute la requête spécifiée et renvoie ses détails d’exécution.
    • faux : n’exécute pas la requête spécifiée. Renvoyez les détails d’exécution les plus récents pour la requête.

    Valeur par défaut : false

    timeout Numéro Facultatif. Valeur entière qui remplace le délai d’expiration d’exécution de requête par défaut de cinq minutes.

    Unité : Secondes

    Par défaut : cinq minutes

    Tableau 6. Renvoie
    Type Description
    Objet Détails sur l’exécution de la requête et les éventuelles erreurs.
    {
      "error": "String",
      "message": "String",
      "query_id": "String",
      "status": "String",
      "table_name": "String"
    }
    <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 :

    • QUERY_EXECUTION_NOT_FOUND
    • QUERY_NOT_FOUND
    • QUERY_EXECUTION_FAILED
    • USER_NOT_AUTHORIZED_EXCEPTION

    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 :

    • Détails de l’exécution de la requête introuvables. Veuillez exécuter la requête.
    • Requête enregistrée donnée introuvable. Assurez-vous de transmettre le nom d’une requête enregistrée.
    • Échec de l’exécution de la requête. Veuillez utiliser une requête valide.
    • L’utilisateur n’est pas autorisé à exécuter une requête CMDBQueryBuilder.

    Type de données : chaîne

    <Object>.query_id Sys_id de l’exécution de la requête.

    Type de données : chaîne

    Table : état de la requête [qb_query_status]

    <Object>.statut État de l’exécution de la requête.
    • COMPLETE : l’exécution est terminée.
    • FAILED : une erreur s’est produite lors de l’exécution de la requête.
    • TIME_OUT : l’exécution de la requête a expiré.
    • MAX_LIMIT : nombre maximum de résultats de retour atteint.

    Type de données : chaîne

    <Object>.table_name Nom de la table qui contient les détails de l’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’expiration d’exécution de la requête sur 10 minutes.

    SNC.CMDBQueryBuilderAPI.getSavedQueryExecutionDetails('Test', true, 600);

    Sortie :

    {
       "query_id":"024fd53a7773330033b5270bba106141",
       "table_name":"u_cmdb_qb_result_598918aacb4dbf3f1a8dcf03fce6a5d57151a4e2",
       "status":COMPLETE
    }

    CMDBQueryBuilderAPI : 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 le sys_id de la requête enregistrée.

    Tableau 7. Paramètres
    Nom Type Description
    nom_requête sauvegardé Chaîne Nom sous lequel enregistrer la requête.

    Table : enregistrée dans le champ Nom de la table Requêtes enregistrées [qb_saved_query].

    queryJson Chaîne JSON qui définit la requête.

    Table : enregistrée dans le champ Requête de la table Requêtes enregistrées [qb_saved_query].

    Tableau 8. Renvoie
    Type Description
    Objet Objet contenant des détails sur la requête enregistrée et les éventuelles erreurs.
    {
       "error": "String",
       "message": "String",
       "status": "String"
    }
    <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 :

    • USER_NOT_AUTHORIZED_EXCEPTION
    • QUERY_NAME_INVALID
    • QUERY_INVALID
    • QUERY_EXISTS_ALREADY
    • QUERY_SAVE_FAILED

    Type de données : chaîne

    <Object>.Message Message contenant des détails sur la réussite ou l’échec de l’opération d’enregistrement.

    Messages possibles :

    • Enregistrement réussi de la requête avec sysId <sy_id>
    • L’utilisateur n’est pas autorisé à enregistrer une requête CMDBQueryBuilder
    • Le nom de la requête est vide. Veuillez fournir un nom
    • QueryJson n’est pas valide. Veuillez fournir un queryJson valide
    • Le nom de requête est déjà utilisé, veuillez utiliser un nom différent
    • Exception inattendue lors de l’enregistrement de la requête

    Type de données : chaîne

    <Object>.statut Code d’état. Renvoyé en cas de réussite de l’opération d’enregistrement.

    Valeur : succès

    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}}";
    SNC.CMDBQueryBuilderAPI.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";
    SNC.CMDBQueryBuilderAPI.saveQuery('Test', queryJson);

    Sortie :

    {
       "error":"QUERY_INVALID",
       "message":"QueryJson is invalid. Please provide a valid queryJson"
    }

    CMDBQueryBuilderAPI : updateQuery(String savedQueryId, String savedQueryName, String queryJson)

    Met à jour le JSON d’une Base de données de gestion des configurations (CMDB) requête du générateur de requêtes.

    Tableau 9. Paramètres
    Nom Type Description
    savedQueryId Chaîne Sys_id de la requête à mettre à jour.

    Ce paramètre n’est pas requis si un nom de requête est fourni.

    Table : requêtes enregistrées [qb_saved_query]

    nom_requête sauvegardé Chaîne Nom de la requête à mettre à jour.

    Ce paramètre n’est pas requis si une sys_id de requête est fournie.

    Table : enregistrée dans le champ Nom de la table Requêtes enregistrées [qb_saved_query].

    queryJson Chaîne JSON avec lequel mettre à jour la requête.

    Table : enregistrée dans le champ Requête de la table Requêtes enregistrées [qb_saved_query].

    Tableau 10. Renvoie
    Type Description
    Objet Détails sur la requête mise à jour et les éventuelles erreurs.
    {
      "error": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.erreur Code d’erreur. Renvoyé en cas d’échec de la mise à jour ou lorsque des paramètres d’entrée non valides sont fournis.

    Erreurs possibles :

    • USER_NOT_AUTHORIZED_EXCEPTION
    • INVALID_PARAM
    • QUERY_INVALID
    • QUERY_UPDATE_FAILED
    • UNAUTHORIZED_REPORT_SOURCE_USER

    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 :

    • Mise à jour réussie de la requête enregistrée
    • L’utilisateur n’est pas autorisé à mettre à jour une requête CMDBQueryBuilder
    • Paramètres non valides. Veuillez fournir un sysId valide ou un nom valide d’une requête enregistrée
    • QueryJson n’est pas valide. Veuillez fournir un queryJson valide
    • Échec de la mise à jour de la requête enregistrée donnée
    • L’utilisateur n’est pas autorisé à mettre à jour la source de rapport d’une requête enregistrée

    Type de données : chaîne

    <Object>.statut Code d’état. Renvoyé lorsque la mise à jour réussit.

    Valeur : succès

    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.log(SNC.CMDBQueryBuilderAPI.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 manquants dans 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}}";
    SNC.CMDBQueryBuilderAPI.updateQuery('', '', queryJson);

    Sortie :

    {
       "error":"INVALID_PARAM",
       "message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
    }