CMDBQBScopedScriptableAPI - Com escopo

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 8 min. de leitura
  • Fornece métodos para executar Configuration Management Database (CMDB) operações do Construtor de consulta em scripts do lado do servidor.

    Esta API é o equivalente com escopo de CMDBQueryBuilderAPI - Global.

    Esta API requer o plug-in Configuration Management for Scoped Apps (com.snc.cmdb.scoped) e é fornecida no namespace sn_cmdb.

    Para obter mais informações sobre CMDB o Query Builder, consulte CMDB Query Builder.

    CMDBQBScopedScriptableAPI - createReport(cadeia de caracteres saveQueryId, cadeia de caracteres saveQueryName)

    Cria um relatório que mostra os resultados de uma consulta Configuration Management Database (CMDB) do Construtor de consulta e retorna o URL do relatório.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    savedQueryId Cadeia de caracteres Sys_id da consulta a ser usada para o relatório.

    Este parâmetro não será necessário se um nome de consulta for fornecido.

    Tabela: consultas salvas [qb_saved_query]

    saveQueryName Cadeia de caracteres Nome da consulta a ser usada para o relatório.

    Este parâmetro não é necessário se uma consulta sys_id for fornecida.

    Tabela: Salvo no campo Nome da tabela Consultas salvas [qb_saved_query].

    Tabela 2. Retornos
    Tipo Descrição
    Objeto Detalhes sobre o relatório criado e quaisquer erros.
    {
      "error": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.erro Código de erro. Retornado quando a criação do relatório falha ou são fornecidos parâmetros de entrada inválidos.

    Possíveis erros:

    • USER_NOT_AUTHORIZED_EXCEPTION
    • INVALID_PARAM
    • CONSULTA_SYS_ID_INVALID

    Tipo de dados: cadeia de caracteres

    <Object>.mensagem Mensagem que contém detalhes sobre o sucesso ou a falha da criação do relatório.

    Possíveis mensagens:

    • <report-url>
    • O usuário não está autorizado a criar um relatório de consulta do CMDBQueryBuilder
    • Parâmetros inválidos. Forneça um sysId válido ou um nome válido de uma consulta salva
    • queryId inválido. Forneça um ID de consulta salva válido

    Tipo de dados: cadeia de caracteres

    <Object>.status Código de status. Retornado quando a atualização é bem-sucedida.

    Valor: sucesso

    Tipo de dados: cadeia de caracteres

    Este exemplo mostra como criar um relatório passando um nome de consulta salva.

    gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.createReport('','CMDBQueryTest1')));

    Saída:

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

    Este exemplo mostra um erro quando a consulta sys_id e o nome estão ausentes na chamada de método.

    gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.createReport('', '')));

    Saída:

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

    CMDBQBScopedScriptableAPI - deleteQuery (cadeia de caracteres salva-vidasQueryId, cadeia de caracteres salva-vidasNome)

    Exclui uma consulta Configuration Management Database (CMDB) do Construtor de consultas.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    savedQueryId Cadeia de caracteres Sys_id da consulta a ser excluída.

    Este parâmetro não será necessário se um nome de consulta for fornecido.

    Tabela: consultas salvas [qb_saved_query]

    saveQueryName Cadeia de caracteres Nome da consulta a ser excluída.

    Este parâmetro não é necessário se uma consulta sys_id for fornecida.

    Tabela: Salvo no campo Nome da tabela Consultas salvas [qb_saved_query].

    Tabela 4. Retornos
    Tipo Descrição
    Objeto Detalhes sobre a consulta excluída e quaisquer erros.
    {
      "error": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.erro Código de erro. Retornado quando a operação de exclusão falha ou são fornecidos parâmetros de entrada inválidos.

    Possíveis erros:

    • USER_NOT_AUTHORIZED_EXCEPTION
    • INVALID_PARAM
    • CONSULTA_EXCLUIR_FALHA

    Tipo de dados: cadeia de caracteres

    <Object>.mensagem Mensagem que contém detalhes sobre o sucesso ou a falha da operação de exclusão.

    Possíveis mensagens:

    • Consulta salva excluída com sucesso
    • O usuário não está autorizado a excluir uma consulta do CMDBQueryBuilder
    • Parâmetros inválidos. Forneça um sysId válido ou um nome válido de uma consulta salva
    • Falha ao excluir a consulta salva fornecida

    Tipo de dados: cadeia de caracteres

    <Object>.status Código de status. Retornado quando a atualização é bem-sucedida.

    Valor: sucesso

    Tipo de dados: cadeia de caracteres

    Este exemplo mostra como excluir uma consulta salva passando o nome da consulta.

    gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.deleteQuery('', 'CMDBQueryTest1')));

    Saída:

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

    Este exemplo mostra um erro quando a consulta sys_id e o nome estão ausentes na chamada de método.

    gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.deleteQuery('', '')));

    Saída:

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

    CMDBQBScopedScriptableAPI - getSavedQueryExecutionDetails(cadeia de caracteres salvaNomeConsulta, Booliano executeQuery, Tempo limite de número)

    Retorna os detalhes de execução de uma consulta do Configuration Management Database (CMDB) Construtor de consultas.

    Opcionalmente, você pode executar a consulta para retornar detalhes da execução atual.

    Se ocorrer um problema de tempo limite ou de memória durante a execução da consulta, você poderá ajustar o tamanho do lote de consulta para ajudar a aliviar esses problemas. Para obter mais informações, consulte Tamanho do lote para consultas salvas do Construtor de consultas.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    saveQueryName Cadeia de caracteres Nome da consulta para a qual os detalhes da execução serão recuperados.

    Tabela: campo Nome na tabela Consultas salvas [qb_saved_query].

    executarConsulta Booliano Opcional. Sinalizador que indica se a consulta especificada deve ser executada.

    Valores válidos:

    • verdadeiro: executa a consulta especificada e retorna os detalhes de execução.
    • falso: não executa a consulta especificada. Retornar os detalhes de execução mais recentes da consulta.

    Padrão: falso

    timeout Número Opcional. Valor inteiro que substitui o limite de tempo limite de execução de consulta padrão de cinco minutos.

    Unidade: segundos

    Padrão: cinco minutos

    Tabela 6. Retornos
    Tipo Descrição
    Objeto Detalhes sobre a execução da consulta e quaisquer erros.
    {
      "error": "String",
      "message": "String",
      "query_id": "String",
      "status": "String",
      "table_name": "String"
    }
    <Object>.erro Código de erro. Retornado quando a execução da consulta falha ou a consulta especificada não é encontrada.

    Possíveis erros:

    • CONSULTA_EXECUÇÃO_NÃO_ENCONTRADA
    • CONSULTA NÃO ENCONTRADA
    • CONSULTA_EXECUÇÃO_FALHA
    • USER_NOT_AUTHORIZED_EXCEPTION

    Tipo de dados: cadeia de caracteres

    <Object>.mensagem Mensagem que contém detalhes sobre o código de erro. Retornado quando a execução da consulta falha ou a consulta especificada não é encontrada.

    Possíveis mensagens:

    • Detalhes de execução da consulta não encontrados. Execute a consulta.
    • Consulta salva fornecida não encontrada. Certifique-se de passar o nome de uma consulta salva.
    • Falha na execução da consulta. Use uma consulta válida.
    • O usuário não está autorizado a executar uma consulta do CMDBQueryBuilder.

    Tipo de dados: cadeia de caracteres

    <Object>.query_id Sys_id da execução da consulta.

    Tipo de dados: cadeia de caracteres

    Tabela: status da consulta [qb_query_status]

    <Object>.status Status da execução da consulta.
    • COMPLETE: a execução está concluída.
    • FAILED: ocorreu um erro ao executar a consulta.
    • TIME_OUT: tempo esgotado da execução da consulta.
    • MAX_LIMIT: número máximo de resultados de retorno atingido.

    Tipo de dados: cadeia de caracteres

    <Object>.table_name Nome da tabela que contém os detalhes de execução da consulta.

    Tipo de dados: cadeia de caracteres

    Este exemplo mostra como executar uma consulta salva e definir o valor de tempo limite de execução da consulta para 10 minutos.

    gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.getSavedQueryExecutionDetails('Test', true, 600)));

    Saída:

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

    CMDBQBScopedScriptableAPI - saveQuery (cadeia de caracteres salvaNome, cadeia de caracteres queryJson)

    Salva uma consulta Configuration Management Database (CMDB) do Construtor de consultas e retorna o sys_id da consulta salva.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    saveQueryName Cadeia de caracteres Nome para salvar a consulta.

    Tabela: Salvo no campo Nome da tabela Consultas salvas [qb_saved_query].

    queryJSON Cadeia de caracteres JSON que define a consulta.

    Tabela: Salvo no campo Consulta da tabela Consultas salvas [qb_saved_query].

    Tabela 8. Retornos
    Tipo Descrição
    Objeto Objeto que contém detalhes sobre a consulta salva e quaisquer erros.
    {
       "error": "String",
       "message": "String",
       "status": "String"
    }
    <Object>.erro Código de erro. Retornado quando a operação de salvamento falha ou são fornecidos parâmetros de entrada inválidos.

    Possíveis erros:

    • USER_NOT_AUTHORIZED_EXCEPTION
    • CONSULTA_NOME_INVALID
    • CONSULTA_INVALID
    • CONSULTA_EXISTS_JÁ
    • CONSULTA_SALVAR_FALHA

    Tipo de dados: cadeia de caracteres

    <Object>.mensagem Mensagem que contém detalhes sobre o sucesso ou a falha da operação de salvamento.

    Possíveis mensagens:

    • Consulta salva com sucesso com sysId<sy_id>
    • O usuário não está autorizado a salvar uma consulta do CMDBQueryBuilder
    • O nome da consulta está vazio. Forneça um nome
    • QueryJson é inválido. Forneça um queryJson válido
    • O nome da consulta já está sendo usado, use um nome diferente
    • Exceção inesperada ao salvar a consulta

    Tipo de dados: cadeia de caracteres

    <Object>.status Código de status. Retornado quando a operação de salvamento é bem-sucedida.

    Valor: sucesso

    Tipo de dados: cadeia de caracteres

    Este exemplo mostra como adicionar uma consulta à tabela Consultas salvas [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)));

    Saída:

    {
       "message":"Successfully saved the query with sysId d93f96981b310210bccf42a3b24bcb41",
       "status":"success"
    }

    Este exemplo mostra um erro quando uma consulta JSON inválida é fornecida.

    var queryJson = "Test";
    gs.info(JSON.stringify(sn_cmdb.CMDBQBScopedScriptableAPI.saveQuery('Test', queryJson)));

    Saída:

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

    CMDBQBScopedScriptableAPI - updateQuery (cadeia de caracteres salvamentoId, cadeia de caracteres salvaNomeConsulta, cadeia de caracteres queryJson)

    Atualiza o JSON para uma consulta Configuration Management Database (CMDB) do Construtor de consulta.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    savedQueryId Cadeia de caracteres Sys_id da consulta a ser atualizada.

    Este parâmetro não será necessário se um nome de consulta for fornecido.

    Tabela: consultas salvas [qb_saved_query]

    saveQueryName Cadeia de caracteres Nome da consulta a ser atualizada.

    Este parâmetro não é necessário se uma consulta sys_id for fornecida.

    Tabela: Salvo no campo Nome na tabela Consultas salvas [qb_saved_query].

    queryJSON Cadeia de caracteres JSON para atualizar a consulta com.

    Tabela: Salvo no campo Consulta na tabela Consultas salvas [qb_saved_query].

    Tabela 10. Retornos
    Tipo Descrição
    Objeto Detalhes sobre a consulta atualizada e quaisquer erros.
    {
      "error": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.erro Código de erro. Retornado quando a atualização falha ou são fornecidos parâmetros de entrada inválidos.

    Possíveis erros:

    • USER_NOT_AUTHORIZED_EXCEPTION
    • INVALID_PARAM
    • CONSULTA_INVALID
    • CONSULTA_ATUALIZAÇÃO_FALHA
    • RELATÓRIO_NÃO AUTORIZADO_SOURCE_USER

    Tipo de dados: cadeia de caracteres

    <Object>.mensagem Mensagem que contém detalhes sobre o sucesso ou a falha da atualização.

    Possíveis mensagens:

    • Consulta salva atualizada com sucesso
    • O usuário não está autorizado a atualizar uma consulta do CMDBQueryBuilder
    • Parâmetros inválidos. Forneça um sysId válido ou um nome válido de uma consulta salva
    • QueryJson é inválido. Forneça um queryJson válido
    • Falha ao atualizar a consulta salva fornecida
    • O usuário não está autorizado a atualizar a origem do relatório de uma consulta salva

    Tipo de dados: cadeia de caracteres

    <Object>.status Código de status. Retornado quando a atualização é bem-sucedida.

    Valor: sucesso

    Tipo de dados: cadeia de caracteres

    Este exemplo mostra como atualizar uma consulta salva passando o nome da consulta.

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

    Saída:

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

    Este exemplo mostra um erro quando a consulta sys_id e o nome estão ausentes na chamada de método.

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

    Saída:

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