CMDBQueryBuilderAPI - Global
Fornece métodos para executar Configuration Management Database (CMDB) Operações do Construtor de consulta em scripts do lado do servidor.
Esta API requer Configuration Management Database (CMDB) aplicação (com.snc.cmdb).
Esta API só está disponível no escopo global. Para usar esses métodos em uma aplicação com escopo, consulte CMDBQBScopedScriptableAPI - Com escopo.
Para obter mais informações sobre CMDB Construtor de consultas, consulte CMDB Query Builder.
CMDBQueryBuilderAPI - createReport(cadeia de caracteres savedQueryId, cadeia de caracteres savedQueryName)
Cria um relatório que mostra os resultados de um Configuration Management Database (CMDB) Consulta o Construtor de consulta e retorna o URL do relatório.
Para aplicações com escopo, use CMDBQBScopedScriptableAPI - createReport(cadeia de caracteres savedQueryId, cadeia de caracteres savedQueryName).
| 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] |
| SavedQueryName | Cadeia de caracteres | Nome da consulta a ser usada para o relatório. Este parâmetro não será necessário se um sys_id de consulta for fornecido. Tabela: Salva em Nome Campo da tabela Consultas salvas [qb_saved_query]. |
| Tipo | Descrição |
|---|---|
| Objeto | Detalhes sobre o relatório criado e quaisquer erros. |
| <Object>.error | Código de erro. Retornado quando a criação do relatório falha ou parâmetros de entrada inválidos são fornecidos. Possíveis erros:
Tipo de dados: Cadeia de caracteres |
| <Object>.message | Mensagem que contém detalhes sobre o sucesso ou falha da criação do relatório. Possíveis mensagens:
Tipo de dados: Cadeia de caracteres |
| <Object>.status | Código de status. Retornado quando a atualização é bem-sucedida. Valor: Tipo de dados: Cadeia de caracteres |
Este exemplo mostra como criar um relatório aprovando um nome de consulta salvo.
var queryReport = SNC.CMDBQueryBuilderAPI.createReport('', 'CMDBQueryTest1');
gs.info(JSON.stringify(JSON.parse(queryReport), null, 2));
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 o nome da consulta fornecido é inválido.
var queryReport = SNC.CMDBQueryBuilderAPI.createReport('', 'Test');
gs.info(JSON.stringify(JSON.parse(queryReport), null, 2));
Saída:
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}
CMDBQueryBuilderAPI - deleteQuery(cadeia de caracteres savedQueryId, cadeia de caracteres savedQueryName)
Exclui um Configuration Management Database (CMDB) Consulta do Construtor de consulta.
Para aplicações com escopo, use CMDBQBScopedScriptableAPI - deleteQuery(cadeia de caracteres savedQueryId, cadeia de caracteres savedQueryName).
| Nome | Tipo | Descrição |
|---|---|---|
| savedQueryId | Cadeia de caracteres | Sys_id da consulta a ser excluída. Este parâmetro pode ser fornecido como uma cadeia de caracteres vazia se um nome de consulta for fornecido. Tabela: Consultas salvas [qb_saved_query] |
| SavedQueryName | Cadeia de caracteres | Nome da consulta a ser excluída. Este parâmetro não será necessário se um sys_id de consulta for fornecido. Tabela: Salva em Nome Campo da tabela Consultas salvas [qb_saved_query]. |
| Tipo | Descrição |
|---|---|
| Objeto | Detalhes sobre a consulta excluída e quaisquer erros. |
| <Object>.error | Código de erro. Retornado quando a operação de exclusão falha ou parâmetros de entrada inválidos são fornecidos. Possíveis erros:
Tipo de dados: Cadeia de caracteres |
| <Object>.message | Mensagem que contém detalhes sobre o sucesso ou falha da operação de exclusão. Possíveis mensagens:
Tipo de dados: Cadeia de caracteres |
| <Object>.status | Código de status. Retornado quando a atualização é bem-sucedida. Valor: Tipo de dados: Cadeia de caracteres |
Este exemplo mostra como excluir uma consulta salva passando o nome da consulta.
var delQuery = SNC.CMDBQueryBuilderAPI.deleteQuery('', 'CMDBQueryTest1');
gs.info(JSON.stringify(JSON.parse(delQuery), null, 2));
Saída:
{
"message":"Successfully deleted the saved query",
"status":"success"
}
CMDBQueryBuilderAPI - getSavedQueryExecutionDetails(cadeia de caracteres savedQueryName, boolian executeQuery, número de tempo limite)
Retorna os detalhes da execução de um Configuration Management Database (CMDB) Consulta do Construtor de consulta.
Como opção, você pode executar a consulta para retornar detalhes da execução atual.
Se ocorrer um tempo limite ou um problema 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 consulta .
Para aplicações com escopo, use CMDBQBScopedScriptableAPI - getSavedQueryExecutionDetails(cadeia de caracteres savedQueryName, boolian executeQuery, número de tempo limite).
| Nome | Tipo | Descrição |
|---|---|---|
| SavedQueryName | Cadeia de caracteres | Nome da consulta para recuperar detalhes de execução. Tabela: Nome Na tabela Consultas salvas [qb_saved_query]. |
| ExecuteQuery | Booliano | Opcional. Sinalizador que indica se a consulta especificada deve ser executada. Valores válidos:
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 |
| Tipo | Descrição |
|---|---|
| Objeto | Detalhes sobre a execução da consulta e quaisquer erros. |
| <Object>.error | Código de erro. Retornado quando a execução da consulta falha ou a consulta especificada não é encontrada. Possíveis erros:
Tipo de dados: Cadeia de caracteres |
| <Object>.execution_batch_size | Tamanho do lote de 100 alocado para a execução da consulta. Este valor retornará somente se executeQueryo parâmetro é verdadeiro. Consulte também Batch size for CMDB Query Builder queries. Tipo de dados: Número |
| <Object>.message | 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:
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.
Tipo de dados: Cadeia de caracteres |
| <Object>.table_name | Nome da tabela que contém os detalhes da execução da consulta. Tipo de dados: Cadeia de caracteres |
Este exemplo mostra como obter o status de execução de uma consulta salva.
var savedQuery = SNC.CMDBQueryBuilderAPI.getSavedQueryExecutionDetails('CMDBQueryTest1');
gs.info(JSON.stringify(JSON.parse(savedQuery), null, 2));
Saída:
{
"query_id":"024fd53a7773330033b5270bba106141",
"table_name":"u_cmdb_qb_result_598918aacb4dbf3f1a8dcf03fce6a5d57151a4e2",
"status":COMPLETE
}
Este exemplo mostra como executar uma consulta salva e definir o valor do tempo limite de execução da consulta como 10 minutos.
var savedQuery = SNC.CMDBQueryBuilderAPI.getSavedQueryExecutionDetails('CMDBQueryTest2', true, 600);
gs.info(JSON.stringify(JSON.parse(savedQuery), null, 2));
Saída:
{
"execution_batch_size": 100,
"query_id": "e73428b4939baa50779bfdfb5cba1047",
"table_name": "u_cmdb_qb_result_f0eed95be923bf3d439c87c028ae3c3af53aa739",
"status": "COMPLETE"
}
O exemplo a seguir mostra como acessar informações na tabela de resultados da consulta salva CMDBQueryTest2 no exemplo anterior. Você também pode usar o nome da tabela de resultados seguido por .list no filtro de resultados.
var resultTableName = 'u_cmdb_qb_result_f7593958e298869427726be96f88155cce269806';
var queryId = '76bd283c931bee502285f4cc5cba10da'; // insert the query ID here
var gr = new GlideRecord(resultTableName);
gr.addQuery('query', queryId);
gr.query();
if (gr.next()) {
gs.info(gr.getDisplayValue('u_server_1')); // field name in the result table
}
Saída:
PS LoadBal01
CMDBQueryBuilderAPI - saveQuery(cadeia de caracteres saveQueryName, cadeia de caracteres queryJson)
Salva um Configuration Management Database (CMDB) Consulta o Construtor de consultas e retorna o sys_id da consulta salva.
Para aplicações com escopo, use CMDBQBScopedScriptableAPI - saveQuery(cadeia de caracteres saveQueryName, cadeia de caracteres queryJson).
| Nome | Tipo | Descrição |
|---|---|---|
| SavedQueryName | Cadeia de caracteres | Nome no qual salvar a consulta. Tabela: Salva em Nome Campo da tabela Consultas salvas [qb_saved_query]. |
| QueryJson | Cadeia de caracteres | JSON que define a consulta. Tabela: Salva em Consulta Campo da tabela Consultas salvas [qb_saved_query]. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto que contém detalhes sobre a consulta salva e quaisquer erros. |
| <Object>.error | Código de erro. Retornado quando a operação de salvamento falha ou parâmetros de entrada inválidos são fornecidos. Possíveis erros:
Tipo de dados: Cadeia de caracteres |
| <Object>.message | Mensagem que contém detalhes sobre o sucesso ou falha da operação de salvamento. Possíveis mensagens:
Tipo de dados: Cadeia de caracteres |
| <Object>.status | Código de status. Retornado quando a operação de salvamento é bem-sucedida. Valor: 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}}";
var newQuery = SNC.CMDBQueryBuilderAPI.saveQuery('CMDBQueryTest1', queryJson);
gs.info(JSON.stringify(JSON.parse(newQuery), null, 2));
Saída:
{
"message":"Successfully saved the query with sysId d93f96981b310210bccf42a3b24bcb41",
"status":"success"
}
CMDBQueryBuilderAPI - updateQuery(cadeia de caracteres savedQueryId, cadeia de caracteres savedQueryName, cadeia de caracteres queryJson)
Atualiza o JSON de um Configuration Management Database (CMDB) Consulta do Construtor de consulta.
Para aplicações com escopo, use CMDBQBScopedScriptableAPI - updateQuery(cadeia de caracteres savedQueryId, cadeia de caracteres savedQueryName, cadeia de caracteres queryJson).
| 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] |
| SavedQueryName | Cadeia de caracteres | Nome da consulta a ser atualizada. Este parâmetro não será necessário se um sys_id de consulta for fornecido. Tabela: Salva em Nome Na tabela Consultas salvas [qb_saved_query]. |
| QueryJson | Cadeia de caracteres | JSON para atualizar a consulta. Tabela: Salva em Consulta Na tabela Consultas salvas [qb_saved_query]. |
| Tipo | Descrição |
|---|---|
| Objeto | Detalhes sobre a consulta atualizada e quaisquer erros. |
| <Object>.error | Código de erro. Retornado quando a atualização falha ou parâmetros de entrada inválidos são fornecidos. Possíveis erros:
Tipo de dados: Cadeia de caracteres |
| <Object>.message | Mensagem que contém detalhes sobre o sucesso ou falha da atualização. Possíveis mensagens:
Tipo de dados: Cadeia de caracteres |
| <Object>.status | Código de status. Retornado quando a atualização é bem-sucedida. Valor: 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}}";
var queryUpdate = SNC.CMDBQueryBuilderAPI.updateQuery('', 'CMDBQueryTest1', queryJson);
gs.info(JSON.stringify(JSON.parse(queryUpdate), null, 2));
Saída:
{
"message":"Successfully updated the saved query",
"status":"success"
}
Este exemplo mostra um erro quando o sys_id e o nome da consulta estão ausentes na chamada do 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}}";
var queryUpdate = SNC.CMDBQueryBuilderAPI.updateQuery('', '', queryJson);
gs.info(JSON.stringify(JSON.parse(queryUpdate), null, 2));
Saída:
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}