StateManagementScriptableApi - 전역
StateManagementScriptableApi는 CI(구성 항목) 작업 상태를 조작하고 CI 작업을 적용하기 위한 메서드 집합을 제공합니다.
StateManagementScriptableApi 메서드는 허용되지 않는 CI 작업, 호환되는 CI 작업 및 허용되지 않는 운영 전환에 지정된 제한 및 허용량을 준수합니다. 메서드가 제한된 작업을 수행하려고 하면 작업이 차단되고 오류가 기록되며 적절한 경우 작업이 만들어집니다.
StateManagementScriptableApi 메서드는 정적 메서드입니다. SNC를 사용하여 메서드에 액세스합니다 . StateManagementScriptableApi 전역 개체입니다.
StateManagementScriptableApi - addBulkCIAction(문자열 requestorId, 문자열 sysIdList, 문자열 ciActionName, 문자열 ciActionListOld, 문자열 leaseTime)
CI 목록에 CI 작업을 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| requestorId 님 | 문자열 | 워크플로 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다. |
| sysIdList | 문자열 | CI sys_ids의 목록 목록이며 쉼표로 구분됩니다. |
| ciActionName(ciActionName) | 문자열 | CI 작업 이름입니다. |
| ciActionListOld | 문자열 | (선택 사항) 모든 CI가 있어야 하는 이전 CI 작업의 쉼표로 구분된 목록입니다. |
| 임대 시간 | 문자열 | (선택 사항) 지정된 CI 작업에 대해 임대가 유효한 기간입니다. HH:MM:SS 형식입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
|
StateManagementScriptableApi - extendCIActionLease(문자열 requestorId, 문자열 ciSysId, 문자열 ciActionName, 문자열 leaseTime)
등록된 사용자에 대한 CI 작업-임대 기간을 연장합니다. 이전 임대가 만료된 경우 새 임대 시간이 지금 시작됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| requestorId 님 | 문자열 | 워크플로 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다. |
| ciSysId | 문자열 | CI의 sys_id입니다. |
| ciActionName(ciActionName) | 문자열 | CI 작업 이름입니다. |
| 임대 시간 | 문자열 | 지정된 CI 작업에 대해 임대가 유효한 기간입니다. HH:MM:SS 형식입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
|
StateManagementScriptableApi - getCIActions(문자열 ciSysId)
지정된 CI에 대한 활성 CI 작업 목록을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| ciSysId | 문자열 | CI의 Sys_id입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 이름-값 쌍이 있는 JSON 형식의 문자열입니다. 가능한 값:
|
다음 예제에서는 구성 항목 목록에 대한 활성 작업을 가져오는 방법을 보여 줍니다.
// Store sys_ids of configuration items for which to get data
var CIArray = ["a9c0c8d2c6112276018f7705562f9cb0","0c43bc4fc61122750182c132411702f2","46bbf419a9fe1981009802288c1eb79d","46a4381ca9fe1981005c3e99af3cd164","0c43bcbdc61122750182c132e9b6565d"];
var output = '';
// looping above array to fetch each sys_id and passing to method
for(var i=0; i < CIArray.length; i++) {
// passing sys_id of CI stored in array to method
output = SNC.StateManagementScriptableApi.getCIActions(CIArray[i]);
// print a JSON formatted string with name-value pairs
gs.print(output);
}
출력:
{"ciActions":["no_active_action"],"result":true}
{"ciActions":["no_active_action"],"result":true}
{"ciActions":["no_active_action"],"result":true}
{"ciActions":["no_active_action"],"result":true}
{"ciActions":["no_active_action"],"result":true}
StateManagementScriptableApi - getOperationalState(문자열 ciSysId)
CI의 운영 상태를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| ciSysId | 문자열 | CI의 Sys_id입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 이름-값 쌍이 있는 JSON 형식의 문자열입니다. 가능한 값:
|
다음 예제에서는 지정된 구성 항목 목록의 작동 상태를 가져오는 방법을 보여 줍니다.
// Store sys_ids of configuration items for which to get the operational state.
var CIArray = ["0c43bc4fc61122750182c132411702f2","46bbf419a9fe1981009802288c1eb79d","46a4381ca9fe1981005c3e99af3cd164","0c43bcbdc61122750182c132e9b6565d","a9c0c8d2c6112276018f7705562f9cb0"];
var output = '';
// Loop the array to fetch each sys_id and pass to the method.
for(var i=0;i<CIArray.length;i++) {
// Pass sys_id of CI stored in array to the method
output = SNC.StateManagementScriptableApi.getOperationalState(CIArray[i]);
// prints a JSON formatted string with name-value pairs
gs.print(output);
}
출력:
*** Script: {"operationalState":"Operational","result":true}
*** Script: {"operationalState":"Operational","result":true}
*** Script: {"operationalState":"Operational","result":true}
*** Script: {"operationalState":"Operational","result":true}
ci_state_management : INVALID_SYS_ID: Invalid sys_id [a9c0c8d2c6112276018f7705562f9cb0]: no thrown error
*** Script: {"errors":[{"error":"INVALID_SYS_ID","message":"Invalid sys_id [a9c0c8d2c6112276018f7705562f9cb0]"}],"operationalState":"unknown","result":false}
StateManagementScriptableApi - isCompatibleCIAction(String actionName, String otherActionName)
지정된 두 작업이 호환되는지 여부를 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| actionName | 문자열 | CI 작업 이름 |
| otherActionName | 문자열 | CI 작업 이름 |
| 유형 | 설명 |
|---|---|
| 부울 | 지정된 두 CI 작업이 호환 가능한 경우 예를 반환합니다. |
StateManagementScriptableApi - isLeaseExpired(문자열 requestorId, 문자열 ciSysId, 문자열 ciActionName)
지정된 CI 작업의 요청자에 대한 임대가 만료되었는지 여부를 결정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| requestorId 님 | 문자열 | 워크플로 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다. |
| ciSysId | 문자열 | CI의 sys_id입니다. |
| ciActionName(ciActionName) | 문자열 | CI 작업의 이름입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
|
StateManagementScriptableApi - isNotAllowedAction(String ciType, String opsLabel, String actionName)
CI 유형의 경우, CI 작업이 운영 상태에 대해 허용되지 않는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| ciType | 문자열 | CI 유형 |
| ops레이블 | 문자열 | 운영 상태 |
| actionName | 문자열 | CI 작업 이름 |
| 유형 | 설명 |
|---|---|
| 부울 | 지정된 운영 상태의 지정된 CI 유형에서 작업이 허용되지 않으면 예를 반환합니다. |
StateManagementScriptableApi - isNotAllowedOpsTransition(문자열 ciType, 문자열 opsLabel, 문자열 transitionOpsLabel)
CI 유형의 경우 운영 상태 전환이 허용되지 않는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| ciType | 문자열 | CI 유형 |
| ops레이블 | 문자열 | 시작 운영 상태의 레이블입니다. |
| transitionOps레이블 | 문자열 | 종료 운영 상태의 레이블입니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 지정된 CI 유형에서 지정된 운영 상태 전환이 허용되지 않으면 예를 반환합니다. |
StateManagementScriptableApi - isValidRequestor(문자열 requestorId)
지정된 요청자가 유효한 활성 워크플로우 사용자인지 또는 등록된 사용자인지 결정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| requestorId 님 | 문자열 | 워크플로 컨텍스트의 Sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | JSON 형식의 이름-값 쌍입니다. 가능한 값:
|
이 예제에서는 isValidRequestor() 메서드를 사용하여 연산자가 등록된 사용자인지 확인하는 방법을 보여 줍니다.
var output = SNC.StateManagementScriptableApi.registerOperator();
var jsonUtil = new JSON();
var result = jsonUtil.decode(output);
var requestorId = result.requestorId; // Fetching requestorId
output = SNC.StateManagementScriptableApi.isValidRequestor(requestorId);
gs.info(output);
출력:
{"result":true}
StateManagementScriptableApi - registerOperator()
비워크플로우 사용자에 대한 연산자를 등록합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
|
var output = SNC.StateManagementScriptableApi.registerOperator();
var jsonUntil = new JSON();
var result = jsonUntil.decode(output);
var requestorId = result.requestorId;
StateManagementScriptableApi - removeBulkCIAction(문자열 requestorId, 문자열 sysIdList, 문자열 ciActionName)
CI 목록에 대한 CI 작업을 제거합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| requestorId 님 | 문자열 | 워크플로 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다. |
| sysIdList | 문자열 | 쉼표로 구분된 CI sys_ids 목록 |
| ciActionName(ciActionName) | 문자열 | CI 작업 이름 |
| 유형 | 설명 |
|---|---|
| 문자열 | 에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
|
StateManagementScriptableApi - setBulkCIOperationalState(문자열 requestorId, 문자열 sysIdList, 문자열 opsLabel, 문자열 opsStateListOld)
CI 목록의 운영 상태를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| requestorId 님 | 문자열 | 워크플로 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다. |
| sysIdList | 문자열 | 쉼표로 구분된 CI sys_ids 목록입니다. |
| ops레이블 | 문자열 | operational_status 선택의 문자열 레이블입니다. |
| opsStateListOld | 문자열 | (선택 사항) 이전 CI의 쉼표로 구분된 목록은 모든 CI가 있어야 합니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
|
var output = SNC.StateManagementScriptableApi.registerOperator();
var jsonUntil = new JSON();
var result = jsonUtil.decode(output);
var requestorId = result.requestorId;
// list of sys_ids to update
var sys_ids;
// Set list of sys_ids's Operational State to 'Repair in Progress'
output = SNC.StateManagementScriptableApi.setBulkCIOperationalState(requestorId, sys_ids,'Repair in Progress');
gs.print(output);
StateManagementScriptableApi - unregisterOperator(문자열: requestorId)
워크플로우가 아닌 사용자에 대한 연산자를 등록 취소합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| requestorId 님 | 문자열 | 워크플로 컨텍스트의 Sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | JSON 형식의 이름-값 쌍입니다. 가능한 값:
|
이 예제에서는 unregisterOperator() 메서드를 사용하여 등록된 사용자의 등록을 취소하는 방법을 보여 줍니다.
var output = SNC.StateManagementScriptableApi.registerOperator();
var jsonUtil = new JSON();
var result = jsonUtil.decode(output);
var requestorId = result.requestorId; // Fetching requestorId
output = SNC.StateManagementScriptableApi.unregisterOperator(requestorId);
gs.info(output);
출력:
{"result":true}