수명주기 관리 API

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 3분
  • CI 수명주기 관리는 CI 운영 상태를 조작하고 CI 작업을 적용하기 위한 상태 관리 API 세트를 제공합니다.

    상태 관리 API는 허용되지 않은 CI 작업, 호환되는 CI 작업 및 허용되지 않은 운영 전환에 지정된 제한 및 허용 사항을 준수합니다. API가 제한된 작업을 수행하려고 하면 작업이 차단되고 오류가 기록되며 적절한 경우 작업이 자동으로 생성됩니다.

    수명주기 관리 API는 수명주기 관리 대량 API를 활용하여 운영 상태 및 CI 작업을 CMDB 그룹에 설정할 수 있습니다.

    등록 API

    • registerOperator() - 비 워크플로우 사용자에 대한 상태 관리에 연산자를 등록하는 메서드입니다.
    • unregisterOperator(String requestorId) - 비 워크플로우 사용자에 대한 연산자를 등록 취소하는 메서드입니다.
    • isValidRequestor(String requestorId) - 지정된 요청자가 유효한 활성 워크플로우 사용자인지 또는 등록된 사용자인지 확인하는 메서드입니다.
    • isLeaseExpired(String requestorId, String ciSysId, String ciActionName) - 등록된 사용자 임대가 만료되었는지 확인하는 메서드.
    • extendCIActionLease(String requestorId, String ciSysId, String ciActionName, String leaseTime) - 등록된 사용자의 CI 작업 임대 시간을 연장하는 방법입니다. 이전 임대가 이미 만료된 경우 지금부터 임대를 연장합니다.

    운영 상태 API

    • setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld) - CI 배열의 운영 상태를 설정하는 메서드.
    • getOperationalState(String ciSysId) - CI 운영 상태를 가져오는 메서드.

    CI 작업 API

    • addBulkCIAction(String requestorId, String sysIdList, String ciActionName, String ciActionListOld, String leaseTime) - CI 배열에 대한 CI 작업을 추가하는 방법입니다.
    • removeBulkCIAction(String requestorId, String sysIdList, String ciActionName) - CI 목록에 대한 CI 작업을 제거하는 방법입니다.
    • getCIActions(String ciSysId) - CI 작업을 가져오는 방법입니다.

    운영 상태 API에 따라 허용되지 않은 작업

    isNotAllowedAction(문자열 ciType, 문자열 opsLabel, 문자열 actionName) - CI 유형의 특정 운영 상태에 대해 특정 CI 작업이 허용되지 않는지 확인하는 방법입니다.

    허용되지 않은 운영 상태 전환 API

    isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel) - CI 유형에서 특정 운영 상태 전환이 허용되지 않는지 확인하는 방법입니다.

    호환 가능한 작업 API

    isCompatibleCIAction(String actionName, String otherActionName) - 두 개의 특정 작업이 서로 호환되는지 확인하는 메서드입니다.

    상태 관리 API 사용

    // 1. Register Operator with State Mgmt
    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUntil = new JSON();
    var result = jsonUntil.decode(output);
    var requestorId = result.requestorId;
    
    // Get list of sys_ids to update
    var sys_ids;
    
    // 2. 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);
    
    // 3. Set list of sys_ids's CI Action State to 'Patching'
    output = SNC.StateManagementScriptableApi.addBulkCIAction(requestorId, sys_ids, 'Patching');
    gs.print(output);