수명주기 관리 API

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 4분
  • 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(string ciType, string opsLabel, string 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);