워크플로우 취소

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 3분
  • 워크플로우를 취소하면 워크플로우 실행이 중지되고 워크플로우 컨텍스트 상태취소됨으로 설정됩니다. 실행 중인 워크플로우를 취소하려면 cancelContext(컨텍스트) 스크립트를 사용할 수 있습니다. onCancel 스크립트를 정의하여 해결되지 않은 워크플로우 활동을 정리할 수 있습니다.

    시작하기 전에

    필요한 역할: admin 또는 workflow_admin

    이 태스크 정보

    워크플로우를 취소하면 워크플로우 엔진에 취소 명령을 삽입하여 워크플로우를 정상적으로 중지하려고 시도합니다.

    프로시저

    1. 다음으로 이동 모두 > 워크플로우 > 활성 컨텍스트.
    2. 워크플로우 컨텍스트 기록을 선택합니다.
    3. 취소 시 스크립트 필드를 양식에 추가하도록 양식 레이아웃을 구성합니다.
      양식 레이아웃 구성에 대한 자세한 내용은 다음 문서를 참조하십시오 Configuring the form layout.
    4. 취소 관련 링크를 선택합니다.
      확인 메시지가 나타납니다.
      취소 확인
    5. 확인을 클릭합니다.
      워크플로우 엔진은 워크플로우를 정상적으로 취소하려고 시도합니다.
      취소 대기

      워크플로우가 취소 명령에 응답하지 않으면 강제 취소 옵션이 나타납니다.

      강제 취소
    6. 제 취소를 클릭하여 워크플로우가 활발하게 실행 중인 스레드를 중단하거나 계속 대기를 클릭하여 워크플로우가 정상적으로 취소될 때까지 계속 기다리십시오.
      경고:
      가능하면 워크플로우가 정상적으로 취소될 수 있습니다. 워크플로우를 강제로 취소하면 관련 워크플로우와 스크립트가 해결되지 않은 상태로 남을 수 있습니다. 취소 시 스크립트를 사용하여 취소된 워크플로우에서 해결되지 않은 아티팩트를 정리할 수 있습니다.

    cancelContext(컨텍스트) 스크립트로 워크플로우 취소

    실행 중인 워크플로우를 취소하려면 cancelContext(컨텍스트) 스크립트를 사용할 수 있습니다. 이 스크립트는 이벤트에 응답하여 워크플로우를 취소해야 하거나 사용자가 수동으로 워크플로우를 취소해야 하는 경우에 유용할 수 있습니다.

    시작하기 전에

    필요한 역할: 관리자

    이 태스크 정보

    자세한 내용은 Workflow - cancelContext(GlideRecord context) 문서를 참조하십시오.

    취소 시 스크립트 정의

    워크플로우를 취소하면 기록이나 스크립트가 해결되지 않은 상태로 남을 수 있습니다. 예를 들어, 서비스 카탈로그 워크플로우를 취소하면 카탈로그 항목이 요청 사용자의 장바구니에 남을 수 있습니다. 관리자는 워크플로우가 취소됨 상태로 전환될 때 실행되는 취소 시 스크립트를 지정할 수 있습니다. 이 스크립트는 사용자에게 알리거나, 정보를 기록하거나, 워크플로우 활동 내에서 실행되는 스크립트의 상태를 해결할 수 있습니다. 워크플로우 컨텍스트의 sys_id는 이 스크립트에서 context_sys_id 변수를 사용하여 사용할 수 있습니다.

    이 태스크 정보

    취소 시 스크립트는 전역 범위에서 비동기식으로 실행됩니다. 인스턴스 작업 부하에 따라 시스템이 취소 시 스크립트를 예약하고 실행하는 시기가 결정됩니다.
    중요사항:
    시스템은 전역 범위에서 취소 시 스크립트를 실행하므로 범위가 지정된 스크립트 포함을 호출하거나 실행할 수 없습니다.

    프로시저

    1. 다음으로 이동 모두 > 워크플로우 > 워크플로우 버전.
    2. 체크아웃한 워크플로우 버전을 선택합니다.
      체크아웃되지 않은 워크플로우 버전은 편집할 수 없습니다.
    3. 취소 시 스크립트 필드를 편집합니다.
      이 필드를 추가하기 위해 양식을 구성해야 할 수 있습니다.
    4. 업데이트를 클릭합니다.

    이 예시 스크립트는 요청된 항목 [sc_req_item] 기록에 해당 요청에 대한 워크플로우가 취소되었음을 나타내는 설명을 추가합니다.
    var grContext = new GlideRecord("wf_context"); 
    grContext.get(context_sys_id); 
    var grReq = new GlideRecord("sc_req_item");
     
    // The current record may not exist, make sure it exists before modifying it.
    if (grReq.get(grContext.id)) {
        grReq.comments = "The workflow processing this item was Canceled. Contact your system administrator for further information.";
        grReq.update();
    }