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