CMDBGroupAPI - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 9 min. de leitura
  • . CMDBGroupAPI fornece métodos para executar ações em Configuration Management Database (CMDB) grupos.

    Esta API é uma classe estática com escopo. Para usar esta classe, você deve incluir sn_cmdbgroup Identificador de namespace antes do objeto CMDBGroupAPI. Por exemplo:
    var response = sn_cmdbgroup.CMDBGroupAPI.getManualCIList(groupSysId, false);

    Para acessar esta API, você deve ter a função itil ou de ativo.

    CMDBGroupAPI - getAllCI(cadeia de caracteres groupId, booliano requireCompleteSet, booliano requireAllQueryNodesCis)

    Retorna todos os itens de configuração (ICs) do grupo especificado. Os resultados incluem todos os ICs manuais e a lista de ICs da consulta salva do construtor de consulta.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    groupId Cadeia de caracteres Sys_id do grupo Configuration Management Database (CMDB).
    RequireCompleteSet Booliano Opcional, mas deve ser aprovado se requireAllQueryNodesCisaprovado.

    Sinalizador que indica se uma cadeia de caracteres vazia será retornada se algum ICs for filtrado por restrições da ACL (Access Control List, lista de controle de acesso).

    Valores válidos:
    • Verdadeiro: Retorna cadeia de caracteres vazia.
    • Falso: Não retorna valor.

    Padrão: falso

    RequireAllQueryNodesCis Booliano Opcional. Sinalizador que indica se os ICs devem ser retornados de todas as classes do CMDB da consulta.
    Valores válidos:
    • Verdadeiro: Retorna ICs de todas as colunas.
    • Falso: Retorna ICs somente do nó inicial da consulta do construtor de consulta.

    Padrão: falso

    Tabela 2. Retornos
    Tipo Descrição
    erros Lista de erros para uma operação com falha.

    Tipo de dados: Matriz

    "errors": [ 
      {
        "message": "String",
        "error": "String"
      } 
    ]
    errors.error Nome do erro.
    Valores possíveis:
    • GROUP_SYS_ID_IS_NOT_FOUND
    • GROUP_SYS_ID_IS_EMPTY
    • FAIL_TO_INSERT_GROUP_CI_PAIR
    • FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR
    • IC_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

    Tipo de dados: Cadeia de caracteres

    errors.message Breve descrição da mensagem de erro.

    Tipo de dados: Cadeia de caracteres

    IdList Lista de sys_ids de IC do CMDB.

    Tipo de dados: Matriz

    PartialCIListDueToACLSinalizador Sinalizador que indica se a lista de ICs retornados está incompleta devido a restrições de ACL.
    Nota:
    Não é considerada uma condição de erro e nenhuma informação de erro correspondente é retornada.

    Tipo de dados: Booliano

    Valores válidos:
    • verdadeiro: idListestá incompleto.
    • falso: idListconcluído.
    resultado Sinalizador que indica se o método foi concluído com sucesso.
    Valores possíveis:
    • Verdadeiro: Sucesso
    • Falso: Erro
    // 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);

    Saída:

    // 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(cadeia de caracteres groupId, booliano requireCompleteSet, booliano requireAllQueryNodesCis)

    Retorna todos os itens de configuração (ICs) retornados de todos os IDs de consulta dos construtores de consulta salvos para o grupo especificado.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    groupId Cadeia de caracteres Sys_id do grupo Configuration Management Database (CMDB).
    RequireCompleteSet Booliano Opcional, mas deve ser aprovado se requireAllQueryNodesCisaprovado.

    Sinalizador que indica se uma cadeia de caracteres vazia será retornada se algum ICs for filtrado por restrições da ACL (Access Control List, lista de controle de acesso).

    Valores válidos:
    • Verdadeiro: Retorna cadeia de caracteres vazia.
    • Falso: Não retorna valor.

    Padrão: falso

    RequireAllQueryNodesCis Booliano Opcional. Sinalizador que indica se os ICs devem ser retornados de todas as classes do CMDB da consulta.
    Valores válidos:
    • Verdadeiro: Retorna ICs de todas as colunas.
    • Falso: Retorna ICs somente do nó inicial da consulta do construtor de consulta.

    Padrão: falso

    Tabela 4. Retornos
    Tipo Descrição
    erros Lista de erros para uma operação com falha.

    Tipo de dados: Matriz

    "errors": [ 
      {
        "message": "String",
        "error": "String"
      } 
    ]
    errors.error Nome do erro.
    Valores possíveis:
    • GROUP_SYS_ID_IS_NOT_FOUND
    • GROUP_SYS_ID_IS_EMPTY
    • FAIL_TO_INSERT_GROUP_CI_PAIR
    • FAIL_TO_INSERT_GROUP_QUERY_ID_PAIR
    • IC_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

    Tipo de dados: Cadeia de caracteres

    errors.message Breve descrição da mensagem de erro.

    Tipo de dados: Cadeia de caracteres

    IdList Lista de sys_ids de IC do CMDB.

    Tipo de dados: Matriz

    PartialCIListDueToACLSinalizador Sinalizador que indica se a lista de ICs retornados está incompleta devido a restrições de ACL.
    Nota:
    Não é considerada uma condição de erro e nenhuma informação de erro correspondente é retornada.

    Tipo de dados: Booliano

    Valores válidos:
    • verdadeiro: idListestá incompleto.
    • falso: idListconcluído.
    resultado Sinalizador que indica se o método foi concluído com sucesso.
    Valores possíveis:
    • Verdadeiro: Sucesso
    • Falso: Erro
    // 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);

    Saída:

    // 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(cadeia de caracteres groupId, booliano requireCompleteSet)

    Retorna a lista de ICs manuais do grupo do CMDB.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    groupId Cadeia de caracteres O SYSID do grupo do CMDB.
    RequireCompleteSet Booliano Quando verdadeiro, retorna uma cadeia de caracteres de erro se algum ICs for filtrado por restrições de ACL.
    Tabela 6. Retorna
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON no formato
    { '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'] }
    Onde
    • resultado - um sinalizador booliano. Quando verdadeiro, o método foi bem-sucedido.
    • erros - uma lista de erros com uma mensagem e um código de erro.
    • PartialCIListDueToACLFlag - Um sinalizador booliano. Quando verdadeiro, o idList está incompleto devido a uma restrição de ACL. Quando falso, a idList está concluída.
    • IdList - Uma matriz de sys_ids cmdb_ci

    QUANDO NÃO É BEM-SUCEDIDO, RETORNA UM DOS ERROS 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, 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);
     

    Saída: (Quebras de linha adicionadas para formatação.)

    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);

    Saída: (Quebras de linha adicionadas para formatação.)

    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(cadeia de caracteres groupId, boolian requireCompleteSet)

    Retorna os IDs de consulta do construtor de consulta para o grupo do CMDB especificado.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    groupId Cadeia de caracteres O SYSID do grupo do CMDB.
    RequireCompleteSet Booliano Quando verdadeiro, retorna uma cadeia de caracteres vazia se algum ICs for filtrado por restrições de ACL.
    Tabela 8. Retorna
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON no formato
    { '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'] }
    Onde
    • resultado - um sinalizador booliano. Quando verdadeiro, o método foi bem-sucedido.
    • erros - uma lista de erros com uma mensagem e um código de erro.
    • PartialCIListDueToACLFlag - Um sinalizador booliano. Quando verdadeiro, o idList está incompleto devido a uma restrição de ACL. Quando falso, a idList está concluída.
    • IdList - Uma matriz de sys_ids cmdb_ci

    QUANDO NÃO É BEM-SUCEDIDO, RETORNA UM DOS ERROS 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, 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);

    Saída: (Quebras de linha adicionadas para formatação.)

    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(cadeia de caracteres groupId, cadeia de caracteres ciSysIds)

    Define a lista de ICs manuais para o grupo especificado. A lista de ICs manuais existente é substituída. Os sysIds de IC não encontrados na tabela cmdb_ci são ignorados.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    groupId Cadeia de caracteres O SYSID do grupo do CMDB.
    ciSysIds Cadeia de caracteres Lista separada por vírgulas de sysIds de IC.
    Tabela 10. Retorna
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON no formato
    { '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'] }
    Onde
    • resultado - um sinalizador booliano. Quando verdadeiro, o método foi bem-sucedido.
    • erros - uma lista de erros com uma mensagem e um código de erro.
    • PartialCIListDueToACLFlag - Um sinalizador booliano. Quando verdadeiro, o idList está incompleto devido a uma restrição de ACL. Quando falso, a idList está concluída.
    • IdList - Uma matriz de sys_ids cmdb_ci

    QUANDO NÃO É BEM-SUCEDIDO, RETORNA UM DOS ERROS 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, 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);

    Saída: (Quebras de linha adicionadas para formatação.)

    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(cadeia de caracteres groupId, cadeia de caracteres queryIds)

    Define a lista de IDs de consulta salva para o grupo especificado. A lista de IDs de consulta existente é substituída. Os sysIds de consulta não encontrados na tabela qb_saved_query são ignorados.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    groupId Cadeia de caracteres O SYSID do grupo do CMDB.
    QueryIds Cadeia de caracteres Lista separada por vírgulas de sysIds de consulta salvos.
    Tabela 12. Retornos
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres formatada JSON no formato
    { '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'] }
    Onde
    • resultado - um sinalizador booliano. Quando verdadeiro, o método foi bem-sucedido.
    • erros - uma lista de erros com uma mensagem e um código de erro.
    • PartialCIListDueToACLFlag - Um sinalizador booliano. Quando verdadeiro, o idList está incompleto devido a uma restrição de ACL. Quando falso, a idList está concluída.
    • IdList - Uma matriz de sys_ids cmdb_ci

    QUANDO NÃO É BEM-SUCEDIDO, RETORNA UM DOS ERROS 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, 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);
    

    Saída: (Quebras de linha adicionadas para formatação.)

    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"}]