CMDBGroupAPI : inclus dans le périmètre

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 9 minutes de lecture
  • CMDBGroupAPI fournit des méthodes pour effectuer des actions sur Base de données de gestion des configurations (CMDB) les groupes.

    Cette API est une classe statique incluse dans le champ d’application. Pour utiliser cette classe, vous devez inclure l’identificateur d’espace de noms sn_cmdbgroup avant l’objet CMDBGroupAPI. Par exemple :
    var response = sn_cmdbgroup.CMDBGroupAPI.getManualCIList(groupSysId, false);

    Pour accéder à cette API, vous devez avoir le rôle itil ou asset.

    CMDBGroupAPI : getAllCI(String groupId, booléen requireCompleteSet, booléen requireAllQueryNodesCis)

    Renvoie tous les éléments de configuration (CI) pour le groupe spécifié. Les résultats incluent tous les CI manuels et la liste des CI de la requête enregistrée du générateur de requêtes.

    Tableau 1. Paramètres
    Nom Type Description
    groupId Chaîne Sys_id du groupe Configuration Management Database (CMDB).
    requireCompleteSet Booléen Facultatif, mais doit être réussi si requireAllQueryNodesCis est réussi.

    Marqueur indiquant si une chaîne vide est renvoyée si des CI sont filtrés par des restrictions de liste de contrôle d’accès (ACL).

    Valeurs valides :
    • true : renvoie une chaîne vide.
    • false : ne renvoie pas de valeur.

    Valeur par défaut : false

    requireAllQueryNodesCis Booléen Facultatif. Marqueur indiquant si les CI de toutes les classes CMDB de la requête doivent être renvoyés.
    Valeurs valides :
    • true : renvoie les CI de toutes les colonnes.
    • false : renvoie uniquement les CI à partir du nœud de départ de la requête du générateur de requêtes.

    Valeur par défaut : false

    Tableau 2. Renvoie
    Type Description
    erreurs Liste des erreurs pour une opération ayant échoué.

    Type de données : tableau

    "errors": [ 
      {
        "message": "String",
        "error": "String"
      } 
    ]
    erreurs.erreur Nom de l’erreur.
    Valeurs possibles :
    • GROUP_SYS_ID_IS_NOT_FOUND
    • GROUP_SYS_ID_IS_EMPTY
    • FAIL_TO_INSERT_GROUP_CI_PAIR
    • FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR
    • CI_CAN_NOT_FOUND
    • SAVED_QUERY_ID_NOT_FOUND
    • ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY
    • TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY
    • NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY
    • MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY
    • GROUP_API_TIMEOUT
    • EXCEPTION_FROM_EXECUTE_QUERY
    • SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    Type de données : chaîne

    message erreur.message Brève description du message d’erreur.

    Type de données : chaîne

    Liste d’id Liste des sys_ids de CI CMDB.

    Type de données : tableau

    partialCIListDueToACLFlag Marqueur indiquant si la liste des CI renvoyés est incomplète en raison de restrictions d’ACL.
    Remarque :
    Cette condition n’est pas considérée comme une erreur et aucune information d’erreur correspondante n’est renvoyée.

    Type de données : booléennes

    Valeurs valides :
    • true : idList est incomplet.
    • false : idList est terminé.
    résultat Marqueur qui indique si la méthode s’est terminée avec succès.
    Valeurs possibles :
    • true : réussite
    • false : erreur
    // Script example: 
    var getAllCIFunc = function(groupSysId) {
      var parser = new JSONParser();
      var response = sn_cmdbgroup.CMDBGroupAPI.getAllCI(groupSysId, false);
      var parsed = parser.parse(response);
      if (parsed.result) {
        gs.info("succeed to retrieve ci list: " + parsed.idList);
      } else {
        gs.info("fail to retrieve list, errors: " + JSON.stringify(parsed.errors));
      }
    }
    var groupExists = "d0d2d25113152200eef2dd828144b0e4";
    var groupContainsInvalidSavedQuery = "e685a2c3d7012200de92a5f75e610387";
    getAllCIFunc(groupExists);
    getAllCIFunc(groupContainsInvalidSavedQuery);

    Sortie :

    // Successful response
    {
      'result':true, 
      'partialCIListDueToACLFlag': false,
      'idList':[
        '3a5dd3dbc0a8ce0100655f1ec66ed42c',
        '6b43105c37301000deeabfc8bcbe5db2'
      ] 
    }
    
    // Error response
    { 
      'result':false, 
      'errors':[ 
        {
          'message':'Group does not exist',
          'error':'GROUP_SYS_ID_IS_NOT_FOUND'
        } 
      ], 
      'partialCIListDueToACLFlag':false,
      'idList':[] 
    }

    CMDBGroupAPI : getAllCIFromQueryBuilder(String groupId, booléen requireCompleteSet, booléen requireAllQueryNodesCis)

    Renvoie tous les éléments de configuration (CI) renvoyés à partir des ID de requêtes de tous les générateurs de requêtes enregistrés pour le groupe spécifié.

    Tableau 3. Paramètres
    Nom Type Description
    groupId Chaîne Sys_id du groupe Configuration Management Database (CMDB).
    requireCompleteSet Booléen Facultatif, mais doit être réussi si requireAllQueryNodesCis est réussi.

    Marqueur indiquant si une chaîne vide est renvoyée si des CI sont filtrés par des restrictions de liste de contrôle d’accès (ACL).

    Valeurs valides :
    • true : renvoie une chaîne vide.
    • false : ne renvoie pas de valeur.

    Valeur par défaut : false

    requireAllQueryNodesCis Booléen Facultatif. Marqueur indiquant si les CI de toutes les classes CMDB de la requête doivent être renvoyés.
    Valeurs valides :
    • true : renvoie les CI de toutes les colonnes.
    • false : renvoie uniquement les CI à partir du nœud de départ de la requête du générateur de requêtes.

    Valeur par défaut : false

    Tableau 4. Renvoie
    Type Description
    erreurs Liste des erreurs pour une opération ayant échoué.

    Type de données : tableau

    "errors": [ 
      {
        "message": "String",
        "error": "String"
      } 
    ]
    erreurs.erreur Nom de l’erreur.
    Valeurs possibles :
    • GROUP_SYS_ID_IS_NOT_FOUND
    • GROUP_SYS_ID_IS_EMPTY
    • FAIL_TO_INSERT_GROUP_CI_PAIR
    • FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR
    • CI_CAN_NOT_FOUND
    • SAVED_QUERY_ID_NOT_FOUND
    • ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY
    • TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY
    • NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY
    • MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY
    • GROUP_API_TIMEOUT
    • EXCEPTION_FROM_EXECUTE_QUERY
    • SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    Type de données : chaîne

    message erreur.message Brève description du message d’erreur.

    Type de données : chaîne

    Liste d’id Liste des sys_ids de CI CMDB.

    Type de données : tableau

    partialCIListDueToACLFlag Marqueur indiquant si la liste des CI renvoyés est incomplète en raison de restrictions d’ACL.
    Remarque :
    Cette condition n’est pas considérée comme une erreur et aucune information d’erreur correspondante n’est renvoyée.

    Type de données : booléennes

    Valeurs valides :
    • true : idList est incomplet.
    • false : idList est terminé.
    résultat Marqueur qui indique si la méthode s’est terminée avec succès.
    Valeurs possibles :
    • true : réussite
    • false : erreur
    // Script example:
    var getAllCIFromQueryBuilderFunc = function(groupSysId) {
      var parser = new JSONParser();
      var response = sn_cmdbgroup.CMDBGroupAPI.getAllCIFromQueryBuilder(groupSysId, false);
      var parsed = parser.parse(response);
      if (parsed.result) {
        gs.info("succeed to retrieve ci list: " + parsed.idList);
      } else {
        gs.info("fail to retrieve list, errors: " + JSON.stringify(parsed.errors));
      }
    }
    var groupExists = "d0d2d25113152200eef2dd828144b0e4";
    var groupContainsInvalidSavedQuery = "e685a2c3d7012200de92a5f75e610387";
    getAllCIFromQueryBuilderFunc(groupExists);
    getAllCIFromQueryBuilderFunc(groupContainsInvalidSavedQuery);

    Sortie :

    // Successful response
    {
      'result':true, 
      'partialCIListDueToACLFlag': false,
      'idList':[
        '3a5dd3dbc0a8ce0100655f1ec66ed42c',
        '6b43105c37301000deeabfc8bcbe5db2'
      ] 
    }
    
    // Error response
    { 
      'result':false, 
      'errors':[ 
        {'message':'Group does not exist',
        'error':'GROUP_SYS_ID_IS_NOT_FOUND'} 
      ], 
      'partialCIListDueToACLFlag':false,
      'idList':[] 
    }

    CMDBGroupAPI : getManualCIList(String groupId, Boolean requireCompleteSet)

    Renvoie la liste de CI manuels du groupe CMDB.

    Tableau 5. Paramètres
    Nom Type Description
    groupId Chaîne Le sysId du groupe CMDB.
    requireCompleteSet Booléen Si la valeur est vrai, renvoie une chaîne d’erreur si des CI sont filtrés par des restrictions d’ACL.
    Tableau 6. Renvoie
    Type Description
    Chaîne Chaîne au format JSON au format
    { 'result':false, 
    'errors':[ {'message':'Group does not exist',
                'error':'GROUP_SYS_ID_IS_NOT_FOUND'},
     { } // another error if it exists 
     ], 
    'partialCIListDueToACLFlag':false,
    'idList':['sys_id_1', 'sys_id2'] }
    • Résultat : un indicateur booléen. Si la valeur est vrai, la méthode a réussi.
    • Erreurs : liste d’erreurs accompagnées d’un message et d’un code d’erreur.
    • partialCIListDueToACLFlag - un indicateur booléen. Si la valeur est vrai, l’idList est incomplète en raison d’une restriction d’ACL. Si la valeur est false, l’idList est terminée.
    • idList : un tableau de cmdb_ci sys_ids

    En cas d’échec, renvoie l’une des erreurs suivantes : GROUP_SYS_ID_IS_NOT_FOUND, GROUP_SYS_ID_IS_EMPTY, FAIL_TO_INSERT_GROUP_CI_PAIR, FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR, CI_CAN_NOT_FOUND, SAVED_QUERY_ID_NOT_FOUND, ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY, TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY, NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY. MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY, GROUP_API_TIMEOUT, EXCEPTION_FROM_EXECUTE_QUERY SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    // Script example for requireCompleteSet being false:
        var getManualCIList = function(groupSysId) {
        var parser = new JSONParser();
        var response = sn_cmdbgroup.CMDBGroupAPI.getManualCIList(groupSysId, false);
        var parsed = parser.parse(response);
        if (parsed.result) {
            gs.info("succeed to retrieve ci list: " + parsed.idList);
        } else {
            gs.info("fail to retrieve list, errors: " + JSON.stringify(parsed.errors));
        }
    }
    // create a group in cmdb_group, and add CIs to this group in Edit Manual CI form
    var groupExists = "d0d2d25113152200eef2dd828144b0e4";
    // use a non-exist group
    var groupDoesNotExists = "d0d2d25113152200eef2dd828144b0e4111";
    getManualCIList(groupExists);
    getManualCIList(groupDoesNotExists);
     

    Sortie : (Des sauts de ligne ont été ajoutés pour la mise en forme.)

    succeed to retrieve ci 
    list: 6b43105c37301000deeabfc8bcbe5db2,2dfd7c8437201000deeabfc8bcbe5d56
    fail to retrieve list, errors: 
    [{"message":"Group does not exist","error":"GROUP_SYS_ID_IS_NOT_FOUND"}]
    // Script example for requireCompleteSet being true
        var getManualCIList = function(groupSysId) {
        var parser = new JSONParser();
        var response = sn_cmdbgroup.CMDBGroupAPI.getManualCIList(groupSysId, true);
        var parsed = parser.parse(response);
        if (parsed.result) {
            gs.info("succeed to retrieve ci list: " + parsed.idList);
        } else {
            gs.info("fail to retrieve list, errors: " + JSON.stringify(parsed.errors));
        }
    }
    // create a group in cmdb_group, and add CIs to this group in Edit Manual CI form
    var groupExists = "d0d2d25113152200eef2dd828144b0e4";
    getManualCIList(groupExists);

    Sortie : (Des sauts de ligne ont été ajoutés pour la mise en forme.)

    fail to retrieve list, errors: 
    [{"message":"Some CI(s) not visible due to security constraint",
    "error":"SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT"}]

    CMDBGroupAPI : getSavedQueryIdList(String groupId, Boolean requireCompleteSet)

    Renvoie les ID de requêtes du générateur de requêtes pour le groupe CMDB spécifié.

    Tableau 7. Paramètres
    Nom Type Description
    groupId Chaîne Le sysId du groupe CMDB.
    requireCompleteSet Booléen Si la valeur est vrai, renvoie une chaîne vide si des CI sont filtrés par des restrictions d’ACL.
    Tableau 8. Renvoie
    Type Description
    Chaîne Chaîne au format JSON au format
    { 'result':false, 
    'errors':[ {'message':'Group does not exist',
                'error':'GROUP_SYS_ID_IS_NOT_FOUND'},
     { } // another error if it exists 
     ], 
    'partialCIListDueToACLFlag':false,
    'idList':['sys_id_1', 'sys_id2'] }
    • Résultat : un indicateur booléen. Si la valeur est vrai, la méthode a réussi.
    • Erreurs : liste d’erreurs accompagnées d’un message et d’un code d’erreur.
    • partialCIListDueToACLFlag - un indicateur booléen. Si la valeur est vrai, l’idList est incomplète en raison d’une restriction d’ACL. Si la valeur est false, l’idList est terminée.
    • idList : un tableau de cmdb_ci sys_ids

    En cas d’échec, renvoie l’une des erreurs suivantes : GROUP_SYS_ID_IS_NOT_FOUND, GROUP_SYS_ID_IS_EMPTY, FAIL_TO_INSERT_GROUP_CI_PAIR, FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR, CI_CAN_NOT_FOUND, SAVED_QUERY_ID_NOT_FOUND, ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY, TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY, NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY. MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY, GROUP_API_TIMEOUT, EXCEPTION_FROM_EXECUTE_QUERY SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    // Script example:
    var getSavedQueryIdList = function(groupSysId) {
        var parser = new JSONParser();
        var response = sn_cmdbgroup.CMDBGroupAPI.getSavedQueryIdList(groupSysId, false);
        var parsed = parser.parse(response);
        if (parsed.result) {
            gs.info("succeed to retrieve saved query id list: " + parsed.idList);
        } else {
            gs.info("fail to retrieve list, errors: " + JSON.stringify(parsed.errors));
        }
    }
    var groupExists = "d0d2d25113152200eef2dd828144b0e4";
    var groupDoesNotExists = "d0d2d25113152200eef2dd828144b0e4111";
    getSavedQueryIdList(groupExists);
    getSavedQueryIdList(groupDoesNotExists);

    Sortie : (Des sauts de ligne ont été ajoutés pour la mise en forme.)

    succeed to retrieve saved query id list: 5d498532d7c12200de92a5f75e6103ce
    fail to retrieve list, errors:
     [{"message":"Group does not exist","error":"GROUP_SYS_ID_IS_NOT_FOUND"}]

    CMDBGroupAPI : setManualCIList(String groupId, String ciSysIds)

    Définit la liste de CI manuelle pour le groupe spécifié. La liste de CI manuels existante est remplacée. Les sysIds de CI introuvables dans la table cmdb_ci sont ignorés.

    Tableau 9. Paramètres
    Nom Type Description
    groupId Chaîne Le sysId du groupe CMDB.
    ciSysIds Chaîne Liste des sysId de CI séparés par des virgules.
    Tableau 10. Renvoie
    Type Description
    Chaîne Chaîne au format JSON au format
    { 'result':false, 
    'errors':[ {'message':'Group does not exist',
                'error':'GROUP_SYS_ID_IS_NOT_FOUND'},
     { } // another error if it exists 
     ], 
    'partialCIListDueToACLFlag':false,
    'idList':['sys_id_1', 'sys_id2'] }
    • Résultat : un indicateur booléen. Si la valeur est vrai, la méthode a réussi.
    • Erreurs : liste d’erreurs accompagnées d’un message et d’un code d’erreur.
    • partialCIListDueToACLFlag - un indicateur booléen. Si la valeur est vrai, l’idList est incomplète en raison d’une restriction d’ACL. Si la valeur est false, l’idList est terminée.
    • idList : un tableau de cmdb_ci sys_ids

    En cas d’échec, renvoie l’une des erreurs suivantes : GROUP_SYS_ID_IS_NOT_FOUND, GROUP_SYS_ID_IS_EMPTY, FAIL_TO_INSERT_GROUP_CI_PAIR, FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR, CI_CAN_NOT_FOUND, SAVED_QUERY_ID_NOT_FOUND, ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY, TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY, NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY. MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY, GROUP_API_TIMEOUT, EXCEPTION_FROM_EXECUTE_QUERY SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    // Script example:
    var setManualCIListFunc = function(groupSysId, manualCIList) {
        var parser = new JSONParser();
        var response = sn_cmdbgroup.CMDBGroupAPI.setManualCIList(groupSysId, manualCIList);
        var parsed = parser.parse(response);
        if (parsed.result) {
            gs.info("succeed to set manual ci list");
        } else {
            gs.info("fail to set manual ci list, errors: " + JSON.stringify(parsed.errors));
        }
    }
    var group = "d0d2d25113152200eef2dd828144b0e4";
    var groupDoesNotExist = "1234";
    var manualCIList = "b4fd7c8437201000deeabfc8bcbe5dc1, affd3c8437201000deeabfc8bcbe5dc3";
    setManualCIListFunc(group, manualCIList);
    setManualCIListFunc(groupDoesNotExist, manualCIList);

    Sortie : (Des sauts de ligne ont été ajoutés pour la mise en forme.)

    succeed to set manual ci list
    fail to set manual ci list, errors: [{"message":"Group does not exist","error":
    "GROUP_SYS_ID_IS_NOT_FOUND"}]

    CMDBGroupAPI : setSavedQueryIdList(String groupId, String queryIds)

    Définit la liste d’ID de requête enregistrée pour le groupe spécifié. La liste d’ID de requête existante est remplacée. Les sysId de requête introuvables dans la table qb_saved_query sont ignorés.

    Tableau 11. Paramètres
    Nom Type Description
    groupId Chaîne Le sysId du groupe CMDB.
    QueryIds Chaîne Liste séparée par des virgules des sysId de requête enregistrés.
    Tableau 12. Renvoie
    Type Description
    Chaîne Chaîne au format JSON au format
    { 'result':false, 
    'errors':[ {'message':'Group does not exist',
                'error':'GROUP_SYS_ID_IS_NOT_FOUND'},
     { } // another error if it exists 
     ], 
    'partialCIListDueToACLFlag':false,
    'idList':['sys_id_1', 'sys_id2'] }
    • Résultat : un indicateur booléen. Si la valeur est vrai, la méthode a réussi.
    • Erreurs : liste d’erreurs accompagnées d’un message et d’un code d’erreur.
    • partialCIListDueToACLFlag - un indicateur booléen. Si la valeur est vrai, l’idList est incomplète en raison d’une restriction d’ACL. Si la valeur est false, l’idList est terminée.
    • idList : un tableau de cmdb_ci sys_ids

    En cas d’échec, renvoie l’une des erreurs suivantes : GROUP_SYS_ID_IS_NOT_FOUND, GROUP_SYS_ID_IS_EMPTY, FAIL_TO_INSERT_GROUP_CI_PAIR, FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR, CI_CAN_NOT_FOUND, SAVED_QUERY_ID_NOT_FOUND, ERROR_DURING_QUERY_BUILDER_PROCESS_QUERY, TIMEOUT_DURING_QUERY_BUILDER_PROCESS_QUERY, NOT_COMPLETE_DURING_QUERY_BUILDER_PROCESS_QUERY. MAX_LIMIT_DURING_QUERY_BUILDER_PROCESS_QUERY, GROUP_API_TIMEOUT, EXCEPTION_FROM_EXECUTE_QUERY SOME_CI_NOT_VISIBLE_DUE_TO_SECURITY_CONSTRAINT

    // Script example:
    var setSavedQueryIdListFunc = function(groupSysId, queryIdList) {
        var parser = new JSONParser();
        var response = sn_cmdbgroup.CMDBGroupAPI.setSavedQueryIdList(groupSysId, queryIdList);
        var parsed = parser.parse(response);
        if (parsed.result) {
            gs.info("succeed to set saved query id list");
        } else {
            gs.info("fail to set saved query id list, errors: " + JSON.stringify(parsed.errors));
        }
    }
    var group = "d0d2d25113152200eef2dd828144b0e4";
    var savedQueryBuilderIdList = "394585fed7812200de92a5f75e6103e8";
    var savedQueryBuilderIdNotExistList = "b4fd7c8437201000deeabfc8bcbe5dc1,
       affd3c8437201000deeabfc8bcbe5dc3";
     
    setSavedQueryIdListFunc(group, savedQueryBuilderIdList);
    setSavedQueryIdListFunc(group, savedQueryBuilderIdNotExistList);
    

    Sortie : (Des sauts de ligne ont été ajoutés pour la mise en forme.)

    succeed to set saved query id list
    fail to set saved query id list, errors: [{"message":
    "Saved query id(b4fd7c8437201000deeabfc8bcbe5dc1) is not found for 
    group(d0d2d25113152200eef2dd828144b0e4)","error":
    "SAVED_QUERY_ID_NOT_FOUND"},{"message":
    "Saved query id(affd3c8437201000deeabfc8bcbe5dc3) is not found for 
    group(d0d2d25113152200eef2dd828144b0e4)","error":"SAVED_QUERY_ID_NOT_FOUND"}]