CMDBQueryBuilderAPI - 전역
서버 측 스크립트에서 쿼리 작성기 작업을 실행하는 구성 관리 데이터베이스(CMDB) 메서드를 제공합니다.
이 API를 사용하려면 애플리케이션(com.snc.cmdb)이 구성 관리 데이터베이스(CMDB) 필요합니다.
범위가 지정된 응용 프로그램에서 이러한 메서드를 사용하려면 을 참조하십시오 CMDBQBScopedScriptableAPI - 범위 지정됨.
Query Builder에 대한 CMDB 자세한 내용은 을 참조하십시오 CMDB Query Builder.
CMDBQueryBuilderAPI - createReport(문자열 savedQueryId, 문자열 savedQueryName)
쿼리 작성기 쿼리의 구성 관리 데이터베이스(CMDB) 결과를 표시하고 보고서의 URL을 반환하는 보고서를 만듭니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| savedQueryId | 문자열 | 보고서에 사용할 쿼리의 Sys_id입니다. 저장된 쿼리 [qb_saved_query] 테이블에 있습니다. 쿼리 이름이 제공된 경우에는 이 매개변수가 필요하지 않습니다. |
| savedQueryName(저장된 쿼리 이름) | 문자열 | 보고서에 사용할 쿼리의 이름입니다. 저장된 쿼리 [qb_saved_query] 테이블에 있는 쿼리 기록에 대한 이름 필드에 있습니다. 쿼리 sys_id가 제공된 경우에는 이 매개변수가 필요하지 않습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 생성된 보고서 및 오류에 대한 상세 정보를 포함하는 객체입니다. |
| <Object>.오류 | 오류 코드. 보고서 생성에 실패하거나 잘못된 입력 매개변수가 제공된 경우에 반환됩니다. 가능한 오류:
데이터 유형: 문자열 |
| <Object>.메시지 | 보고서 생성의 성공 또는 실패에 대한 상세 정보를 포함하는 메시지입니다. 가능한 메시지:
데이터 유형: 문자열 |
| <Object>.상태 | 상태 코드입니다. 업데이트가 성공하면 반환됩니다. 값: 데이터 유형: 문자열 |
이 예제에서는 저장된 쿼리 이름을 전달하여 보고서를 만드는 방법을 보여 줍니다.
SNC.CMDBQueryBuilderAPI.createReport('', 'CMDBQueryTest1');
출력:
{
"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"
}
이 예제에서는 제공된 쿼리 이름이 잘못된 경우 오류를 보여 줍니다.
SNC.CMDBQueryBuilderAPI.createReport('', 'Test');
출력:
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}
CMDBQueryBuilderAPI - deleteQuery(문자열 savedQueryId, 문자열 savedQueryName)
쿼리 작성기 쿼리를 삭제합니다 구성 관리 데이터베이스(CMDB) .
| 이름 | 유형 | 설명 |
|---|---|---|
| savedQueryId | 문자열 | 삭제할 쿼리의 Sys_id입니다. 저장된 쿼리 [qb_saved_query] 테이블에 있습니다. 쿼리 이름이 제공된 경우에는 이 매개변수가 필요하지 않습니다. |
| savedQueryName(저장된 쿼리 이름) | 문자열 | 삭제할 쿼리의 이름입니다. 저장된 쿼리 [qb_saved_query] 테이블에 있는 쿼리 기록에 대한 이름 필드에 있습니다. 쿼리 sys_id가 제공된 경우에는 이 매개변수가 필요하지 않습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 삭제된 쿼리 및 오류에 대한 상세 정보를 포함하는 객체입니다. |
| <Object>.오류 | 오류 코드. 삭제 작업이 실패하거나 잘못된 입력 매개변수가 제공된 경우 반환됩니다. 가능한 오류:
데이터 유형: 문자열 |
| <Object>.메시지 | 삭제 작업의 성공 또는 실패에 대한 상세 정보가 포함된 메시지입니다. 가능한 메시지:
데이터 유형: 문자열 |
| <Object>.상태 | 상태 코드입니다. 업데이트가 성공하면 반환됩니다. 값: 데이터 유형: 문자열 |
이 예제에서는 쿼리 이름을 전달하여 저장된 쿼리를 삭제하는 방법을 보여 줍니다.
SNC.CMDBQueryBuilderAPI.deleteQuery('', 'CMDBQueryTest1');
출력:
{
"message":"Successfully deleted the saved query",
"status":"success"
}
CMDBQueryBuilderAPI - getSavedQueryExecutionDetails(문자열 savedQueryName, 부울 executeQuery, 숫자 시간 초과)
쿼리 작성기 쿼리에 대한 구성 관리 데이터베이스(CMDB) 실행 상세 정보를 반환합니다.
선택적으로 현재 실행 세부 정보를 반환하기 위해 쿼리를 실행할 수 있습니다.
쿼리를 실행하는 동안 시간 초과 또는 메모리 문제가 발생하는 경우 쿼리 배치 크기를 미세 조정하여 이러한 문제를 완화할 수 있습니다. 자세한 내용은 Query Builder 저장된 쿼리의 일괄 처리 크기를 참조하세요.
| 이름 | 유형 | 설명 |
|---|---|---|
| savedQueryName(저장된 쿼리 이름) | 문자열 | 실행 상세 정보를 검색할 쿼리의 이름입니다. 저장된 쿼리 [qb_saved_query] 테이블에 있는 쿼리 기록에 대한 이름 필드에 있습니다. |
| executeQuery | 부울 | 옵션입니다. 지정된 쿼리를 실행할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: False |
| 시간 제한 | 번호 | 옵션입니다. 기본 쿼리 실행 제한 시간인 5분을 재정의하는 정수 값입니다. 단위: 초 기본값: 5분 |
| 유형 | 설명 |
|---|---|
| 객체 | 쿼리 실행 및 오류에 대한 상세 정보를 포함하는 객체입니다. |
| <Object>.오류 | 오류 코드. 쿼리 실행이 실패하거나 지정된 쿼리를 찾을 수 없는 경우 반환됩니다. 가능한 오류:
데이터 유형: 문자열 |
| <Object>.메시지 | 오류 코드에 대한 상세 정보가 들어 있는 메시지입니다. 쿼리 실행이 실패하거나 지정된 쿼리를 찾을 수 없는 경우 반환됩니다. 가능한 메시지:
데이터 유형: 문자열 |
| <Object>.query_id | 쿼리 실행의 Sys_id입니다. 쿼리 상태 [qb_query_status] 테이블에 있습니다. 데이터 유형: 문자열 |
| <Object>.상태 | 쿼리 실행의 상태입니다.
데이터 유형: 문자열 |
| <Object>.table_name | 쿼리 실행 상세 정보가 들어 있는 테이블의 이름입니다. 데이터 유형: 문자열 |
이 예제에서는 저장된 쿼리를 실행하고 쿼리 실행 제한 시간 값을 10분으로 설정하는 방법을 보여줍니다.
SNC.CMDBQueryBuilderAPI.getSavedQueryExecutionDetails('Test', true, 600);
출력:
{
"query_id":"024fd53a7773330033b5270bba106141",
"table_name":"u_cmdb_qb_result_598918aacb4dbf3f1a8dcf03fce6a5d57151a4e2",
"status":COMPLETE
}
CMDBQueryBuilderAPI - saveQuery(문자열 savedQueryName, 문자열 queryJson)
쿼리 작성기 쿼리를 저장하고 구성 관리 데이터베이스(CMDB) 저장된 쿼리의 sys_id 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| savedQueryName(저장된 쿼리 이름) | 문자열 | 쿼리를 저장할 이름입니다. 이름은 저장된 쿼리 [qb_saved_query] 테이블에 있는 쿼리 기록의 이름 필드에 저장됩니다. |
| queryJson | 문자열 | 쿼리를 정의하는 JSON입니다. JSON은 저장된 쿼리 [qb_saved_query] 테이블에 있는 쿼리 기록에 대한 쿼리 필드에 저장됩니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 저장된 쿼리 및 오류에 대한 상세 정보를 포함하는 객체입니다. |
| <Object>.오류 | 오류 코드. 저장 작업이 실패하거나 잘못된 입력 매개변수가 제공된 경우 반환됩니다. 가능한 오류:
데이터 유형: 문자열 |
| <Object>.메시지 | 저장 작업의 성공 또는 실패에 대한 세부 정보를 포함하는 메시지입니다. 가능한 메시지:
데이터 유형: 문자열 |
| <Object>.상태 | 상태 코드입니다. 저장 작업이 성공하면 반환됩니다. 값: 데이터 유형: 문자열 |
이 예에서는 저장된 쿼리 [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);
출력:
{
"message":"Successfully saved the query with sysId d93f96981b310210bccf42a3b24bcb41",
"status":"success"
}
이 예제에서는 잘못된 JSON 쿼리가 제공될 때 오류를 보여 줍니다.
var queryJson = "Test";
SNC.CMDBQueryBuilderAPI.saveQuery('Test', queryJson);
출력:
{
"error":"QUERY_INVALID",
"message":"QueryJson is invalid. Please provide a valid queryJson"
}
CMDBQueryBuilderAPI - updateQuery(문자열 savedQueryId, 문자열 savedQueryName, 문자열 queryJson)
쿼리 작성기 쿼리에 대한 JSON을 업데이트합니다 구성 관리 데이터베이스(CMDB) .
| 이름 | 유형 | 설명 |
|---|---|---|
| savedQueryId | 문자열 | 업데이트할 쿼리의 Sys_id입니다. 저장된 쿼리 [qb_saved_query] 테이블에 있습니다. 쿼리 이름이 제공된 경우에는 이 매개변수가 필요하지 않습니다. |
| savedQueryName(저장된 쿼리 이름) | 문자열 | 업데이트할 쿼리의 이름입니다. 저장된 쿼리 [qb_saved_query] 테이블에 있는 쿼리 기록에 대한 이름 필드에 있습니다. 쿼리 sys_id가 제공된 경우에는 이 매개변수가 필요하지 않습니다. |
| queryJson | 문자열 | 쿼리를 업데이트하는 데 사용되는 JSON입니다. JSON은 저장된 쿼리 [qb_saved_query] 테이블에 있는 쿼리 기록에 대한 쿼리 필드에 저장됩니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 업데이트된 쿼리와 오류에 대한 상세 정보를 포함하는 객체입니다. |
| <Object>.오류 | 오류 코드. 업데이트가 실패하거나 잘못된 입력 매개변수가 제공된 경우 반환됩니다. 가능한 오류:
데이터 유형: 문자열 |
| <Object>.메시지 | 업데이트의 성공 또는 실패에 대한 상세 정보가 포함된 메시지입니다. 가능한 메시지:
데이터 유형: 문자열 |
| <Object>.상태 | 상태 코드입니다. 업데이트가 성공하면 반환됩니다. 값: 데이터 유형: 문자열 |
이 예제에서는 쿼리 이름을 전달하여 저장된 쿼리를 업데이트하는 방법을 보여 줍니다.
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));
출력:
{
"message":"Successfully updated the saved query",
"status":"success"
}
이 예제에서는 메서드 호출에서 쿼리 sys_id와 이름이 모두 누락된 경우 오류를 보여 줍니다.
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);
출력:
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}