CMDBGroupAPI - 범위 지정됨
CMDBGroupAPI는 그룹에서 작업을 구성 관리 데이터베이스(CMDB) 수행하기 위한 메서드를 제공합니다.
sn_cmdbgroup 네임스페이스 식별자를 포함해야 합니다. 예:var response = sn_cmdbgroup.CMDBGroupAPI.getManualCIList(groupSysId, false);이 API에 액세스하려면 itil 또는 자산 역할이 있어야 합니다.
CMDBGroupAPI - getAllCI(문자열 groupId, 부울 requireCompleteSet, 부울 requireAllQueryNodesCis)
지정된 그룹에 대한 모든 CI(구성 항목)를 반환합니다. 결과에는 모든 수동 CI와 쿼리 작성기의 저장된 쿼리의 CI 목록이 포함됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| groupId | 문자열 | CMDB(구성 관리 데이터베이스) 그룹의 Sys_id입니다. |
| requireCompleteSet | 부울 | 선택 사항이지만 전달된 경우 requireAllQueryNodesCis 전달해야 합니다. ACL(접근 제어 목록) 제한에 따라 CI가 필터링되는 경우 빈 문자열이 반환되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| requireAllQueryNodesCis | 부울 | 옵션입니다. 쿼리의 모든 CMDB 클래스에서 CI를 반환할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| 유형 | 설명 |
|---|---|
| 오류 | 실패한 작업의 오류 목록입니다. 데이터 유형: 배열 |
| 오류.오류 | 오류 이름입니다. 가능한 값:
데이터 유형: 문자열 |
| 오류.메시지 | 오류 메시지에 대한 간략한 설명입니다. 데이터 유형: 문자열 |
| 아이드리스트 | CMDB CI sys_ids 목록입니다. 데이터 유형: 배열 |
| partialCIListDueToACLFlag | 반환된 CI 목록이 ACL 제한으로 인해 불완전한지 여부를 나타내는 플래그입니다. 주:
이는 오류 조건으로 간주되지 않으며 해당 오류 정보가 반환되지 않습니다. 데이터 유형: 부울 유효한 값은 다음과 같습니다.
|
| 결과 | 메서드가 성공적으로 완료되었는지 여부를 나타내는 플래그입니다. 가능한 값:
|
// 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);
출력:
// 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(문자열 groupId, 부울 requireCompleteSet, 부울 requireAllQueryNodesCis)
지정된 그룹에 대해 저장된 모든 쿼리 작성기의 쿼리 ID에서 반환된 모든 구성 항목(CI)을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| groupId | 문자열 | CMDB(구성 관리 데이터베이스) 그룹의 Sys_id입니다. |
| requireCompleteSet | 부울 | 선택 사항이지만 전달된 경우 requireAllQueryNodesCis 전달해야 합니다. ACL(접근 제어 목록) 제한에 따라 CI가 필터링되는 경우 빈 문자열이 반환되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| requireAllQueryNodesCis | 부울 | 옵션입니다. 쿼리의 모든 CMDB 클래스에서 CI를 반환할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| 유형 | 설명 |
|---|---|
| 오류 | 실패한 작업의 오류 목록입니다. 데이터 유형: 배열 |
| 오류.오류 | 오류 이름입니다. 가능한 값:
데이터 유형: 문자열 |
| 오류.메시지 | 오류 메시지에 대한 간략한 설명입니다. 데이터 유형: 문자열 |
| 아이드리스트 | CMDB CI sys_ids 목록입니다. 데이터 유형: 배열 |
| partialCIListDueToACLFlag | 반환된 CI 목록이 ACL 제한으로 인해 불완전한지 여부를 나타내는 플래그입니다. 주:
이는 오류 조건으로 간주되지 않으며 해당 오류 정보가 반환되지 않습니다. 데이터 유형: 부울 유효한 값은 다음과 같습니다.
|
| 결과 | 메서드가 성공적으로 완료되었는지 여부를 나타내는 플래그입니다. 가능한 값:
|
// 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);
출력:
// 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(문자열 groupId, 부울 requireCompleteSet)
CMDB 그룹의 수동 CI 목록을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| groupId | 문자열 | CMDB 그룹의 sysId입니다. |
| requireCompleteSet | 부울 | 예일 경우 ACL 제한에 따라 필터링된 CI가 있는 경우 오류 문자열을 반환합니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 형식의 JSON 형식 문자열 위치
성공하지 못하면 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, MAX_LIMIT_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);
출력: (서식을 위해 줄 바꿈이 추가되었습니다.)
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);
출력: (서식을 위해 줄 바꿈이 추가되었습니다.)
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(문자열 groupId, 부울 requireCompleteSet)
지정된 CMDB 그룹에 대한 쿼리 작성기의 쿼리 ID를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| groupId | 문자열 | CMDB 그룹의 sysId입니다. |
| requireCompleteSet | 부울 | 예일 경우 ACL 제한에 따라 필터링된 CI가 있는 경우 빈 문자열을 반환합니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 형식의 JSON 형식 문자열 위치
성공하지 못하면 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, MAX_LIMIT_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);
출력: (서식을 위해 줄 바꿈이 추가되었습니다.)
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(문자열 groupId, 문자열 ciSysIds)
지정된 그룹에 대한 수동 CI 목록을 설정합니다. 기존 수동 CI 목록을 덮어씁니다. cmdb_ci 테이블에서 찾을 수 없는 CI sysId는 무시됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| groupId | 문자열 | CMDB 그룹의 sysId입니다. |
| ciSysIds | 문자열 | 쉼표로 구분된 CI sysId 목록입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 형식의 JSON 형식 문자열 위치
성공하지 못하면 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, MAX_LIMIT_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);
출력: (서식을 위해 줄 바꿈이 추가되었습니다.)
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(문자열 groupId, 문자열 queryIds)
지정된 그룹에 대해 저장된 쿼리 ID 목록을 설정합니다. 기존 쿼리 ID 목록을 덮어씁니다. qb_saved_query 테이블에서 찾을 수 없는 쿼리 sysId는 무시됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| groupId | 문자열 | CMDB 그룹의 sysId입니다. |
| queryId | 문자열 | 저장된 쿼리 sysId의 쉼표로 구분된 목록입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 형식의 JSON 형식 문자열 위치
성공하지 못하면 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, MAX_LIMIT_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);
출력: (서식을 위해 줄 바꿈이 추가되었습니다.)
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"}]