StateManagementScriptableApi - 전역

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기13분
  • StateManagementScriptableApi는 CI(구성 항목) 운영 상태를 조작하고 CI 작업을 적용하기 위한 일련의 메소드를 제공합니다.

    StateManagementScriptableApi 메서드는 허용되지 않는 CI 작업, 호환되는 CI 작업 및 허용되지 않은 운영 전환에 지정된 제한 및 허용치를 준수합니다. 메서드에서 제한된 작업을 수행하려고 하면 작업이 차단되고 오류가 기록되며 적절한 경우 작업이 만들어집니다.

    StateManagementScriptableApi 메서드는 정적 메서드입니다. SNC를 사용하여 메서드에 액세스합니다 . StateManagementScriptableApi 전역 객체입니다.

    StateManagementScriptableApi - addBulkCIAction(String requestorId, string sysIdList, string ciActionName, string ciActionListOld, String leaseTime)

    CI 목록에 CI 작업을 추가합니다.

    표 1. 매개변수
    이름 유형 설명
    requestorId 문자열 워크플로 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다.
    sysId목록 문자열 쉼표로 구분된 CI sys_ids 목록입니다.
    ciActionName 문자열 CI 작업 이름입니다.
    ciActionListOld 문자열 (선택 사항) 모든 CI가 있어야 하는 이전 CI 작업의 쉼표로 구분된 목록입니다.
    임대 시간 문자열 (선택 사항) 지정된 CI 작업에 대해 임대가 유효한 기간입니다. HH:MM:SS 형식입니다.
    표 2. 반환
    유형 설명
    문자열 다음에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
    • 결과 - 목록의 모든 CI에 대해 작업이 설정된 경우 예입니다. 그렇지 않으면 false입니다.
    • 오류 - 오류 목록입니다.

    StateManagementScriptableApi - extendCIActionLease( 문자열 requestorId, 문자열 ciSysId, 문자열 ciActionName, 문자열 leaseTime)

    등록된 사용자의 CI-작업-임대 시간을 연장합니다. 이전 임대가 만료된 경우 새 임대 시간이 지금 시작됩니다.

    표 3. 매개변수
    이름 유형 설명
    requestorId 문자열 워크플로 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다.
    ciSysId 문자열 CI의 sys_id
    ciActionName 문자열 CI 작업 이름입니다.
    임대 시간 문자열 지정된 CI 작업에 대해 임대가 유효한 기간입니다. HH:MM:SS 형식입니다.
    표 4. 반환
    유형 설명
    문자열 다음에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
    • 결과 - 임대 시간이 설정된 경우 예입니다.
    • 오류 - 오류 목록입니다.

    StateManagementScriptableApi - getCIActions(String ciSysId)

    지정된 CI에 대한 활성 CI 작업 목록을 반환합니다.

    표 5. 매개변수
    이름 유형 설명
    ciSysId 문자열 CI의 Sys_id입니다.
    표 6. 반환
    유형 설명
    문자열 이름-값 쌍이 있는 JSON 형식의 문자열입니다.
    가능한 값:
    • ciActions - CI 또는 no_active_action에 대한 활성 CI 작업의 쉼표로 구분된 목록입니다.
    • 오류 - 오류 목록입니다.

    다음 예시에서는 구성 항목 목록에 대한 활성 작업을 가져오는 방법을 보여줍니다.

    // 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의 운영 상태를 반환합니다.

    표 7. 매개변수
    이름 유형 설명
    ciSysId 문자열 CI의 Sys_id입니다.
    표 8. 반환
    유형 설명
    문자열 이름-값 쌍이 있는 JSON 형식의 문자열입니다.
    가능한 값:
    • ciActions - operational_status 필드의 문자열 선택 값 또는 알 수 없음입니다.
    • 오류 - 오류 목록입니다.

    다음 예제에서는 지정된 구성 항목 목록의 작동 상태를 가져오는 방법을 보여 줍니다.

    // 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)

    지정된 두 작업이 호환되는지 여부를 확인합니다.

    표 9. 매개변수
    이름 유형 설명
    actionName 문자열 CI 작업 이름
    otherActionName 문자열 CI 작업 이름
    표 10. 반환
    유형 설명
    부울 지정된 두 CI 작업이 호환이면 예를 반환합니다.

    StateManagementScriptableApi - isLeaseExpired(String requestorId, String ciSysId, String ciActionName)

    지정된 CI 작업의 요청자에 대한 임대가 만료되었는지 여부를 결정합니다.

    표 11. 매개변수
    이름 유형 설명
    requestorId 문자열 워크플로 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다.
    ciSysId 문자열 CI의 sys_id
    ciActionName 문자열 CI 작업의 이름입니다.
    표 12. 반환
    유형 설명
    문자열 다음에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
    • 결과 - 사용자의 임대가 만료된 경우 예입니다.
    • 오류 - 오류 목록입니다.

    StateManagementScriptableApi - isNotAllowedAction(String ciType, String opsLabel, String actionName)

    CI 유형의 경우 운영 상태에 대해 CI 작업이 허용되지 않는지 결정합니다.

    표 13. 매개변수
    이름 유형 설명
    ciType 문자열 CI 유형
    옵스레이블 문자열 운영 상태
    actionName 문자열 CI 작업 이름
    표 14. 반환
    유형 설명
    부울 지정된 운영 상태의 지정된 CI 유형에서 작업이 허용되지 않는 경우 예를 반환합니다.

    StateManagementScriptableApi - isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel)

    CI 유형의 경우 운영 상태 전환이 허용되지 않는지 결정합니다.

    표 15. 매개변수
    이름 유형 설명
    ciType 문자열 CI 유형
    옵스레이블 문자열 시작 운영 상태의 레이블입니다.
    'transitionOps레이블' 문자열 종료 운영 상태의 레이블입니다.
    표 16. 반환
    유형 설명
    부울 지정된 CI 유형에서 지정된 운영 상태 전환이 허용되지 않는 경우 예를 반환합니다.

    StateManagementScriptableApi - isValidRequestor(String requestorId)

    지정된 요청자가 유효한 활성 워크플로우 사용자인지 등록된 사용자인지 결정합니다.

    표 17. 매개변수
    이름 유형 설명
    requestorId 문자열 워크플로 컨텍스트의 Sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다.
    표 18. 반환
    유형 설명
    문자열 JSON 형식의 이름-값 쌍입니다.
    가능한 값:
    • result - requestorId가 유효한 경우 예입니다 .
    • 오류 - 오류 목록입니다.

    이 예제에서는 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()

    비 워크플로우 사용자에 대한 연산자를 등록합니다.

    표 19. 매개변수
    이름 유형 설명
    없음
    표 20. 반환
    유형 설명
    문자열 다음에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
    • 요청 - CI 작업/운영 상태를 설정하는 데 사용되는 등록된 사용자 GUID입니다.
    • 결과 - 성공적으로 등록되면 예입니다.
    • 오류 - 오류 목록입니다.
    
    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUntil = new JSON();
    var result = jsonUntil.decode(output);
    var requestorId = result.requestorId;
    

    StateManagementScriptableApi - removeBulkCIAction(String requestorId, string sysIdList, string ciActionName)

    CI 목록에 대한 CI 작업을 제거합니다.

    표 21. 매개변수
    이름 유형 설명
    requestorId 문자열 워크플로 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다.
    sysId목록 문자열 쉼표로 구분된 CI sys_ids 목록
    ciActionName 문자열 CI 작업 이름
    표 22. 반환
    유형 설명
    문자열 다음에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
    • result - 목록의 모든 CI에 대해 작업이 제거되면 true입니다. 그렇지 않으면 false입니다.
    • 오류 - 오류 목록입니다.

    StateManagementScriptableApi - setBulkCIOperationalState(String requestorId, string sysIdList, string opsLabel, string opsStateListOld)

    CI 목록의 운영 상태를 설정합니다.

    표 23. 매개변수
    이름 유형 설명
    requestorId 문자열 워크플로 컨텍스트의 sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다.
    sysId목록 문자열 쉼표로 구분된 CI sys_ids 목록입니다.
    옵스레이블 문자열 operational_status 선택의 문자열 레이블입니다.
    opsStateListOld 문자열 (선택 사항) 모든 CI가 있어야 하는 이전 CI 상태를 쉼표로 구분한 목록입니다.
    표 24. 반환
    유형 설명
    문자열 다음에 대한 이름-값 쌍이 있는 JSON 형식의 문자열
    • result - 목록의 모든 CI에 대해 상태가 설정된 경우 예입니다. 그렇지 않으면 false입니다.
    • 오류 - 오류 목록입니다.
    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)

    비 워크플로우 사용자의 연산자 등록을 취소합니다.

    표 25. 매개변수
    이름 유형 설명
    requestorId 문자열 워크플로 컨텍스트의 Sys_id 또는 registerOperator() 메서드에서 반환된 GUID입니다.
    표 26. 반환
    유형 설명
    문자열 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}