메시지 대기 작업

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 3분
  • 플로우 API에서 특정 메시지를 받을 때까지 플로우를 일시 중지합니다. 플로우 실행을 다시 시작하는 문자열 메시지를 지정하고, 특정 시간이 지난 후 메시지가 수신되지 않는 경우 플로우를 다시 시작할 수 있는 제한 시간 값을 선택적으로 제공합니다.

    역할 및 가용성

    핵심 작업으로 사용할 수 있습니다 워크플로우 스튜디오 ServiceNow . flow_designer 또는 관리자 역할을 가진 사용자는 플로우에 작업을 추가하고 구성 세부 정보를 정의할 수 있습니다.

    입력

    작업에 필요한 각 입력에 대한 값을 제공합니다. 동적 값을 추가하려면 데이터 패널에서 알약을 끌거나 알약 선택기에서 선택할 수도 있습니다.

    메시지
    데이터 유형: String

    플로우가 sendMessage() API에서 수신을 대기하는 텍스트 문자열입니다. 작업은 이 메시지를 사용하여 플로우 실행을 재개합니다. sendMessage() API에 대한 자세한 내용은 다음 문서를 참조하십시오 FlowAPI - sendMessage(String contextSysID, String message, String payload).

    시간 제한 사용
    데이터 유형: True/False
    작업을 계속하기 전에 플로우에서 작업이 완료될 때까지 대기하는 시간을 제한하는 옵션입니다.
    주:
    시간 제한 활성화 옵션을 사용하면 플로우가 무한히 대기하는 것을 방지할 수 있습니다. 메시지가 수신되지 않은 경우 시간 제한 값은 시스템이 메시지 대기 작업을 건너뛰고 플로우의 다음 항목으로 이동할 수 있는 시기를 지정합니다. 시간 제한을 사용하려면 지속 시간 값을 설정해야 합니다.
    지속 시간
    데이터 유형: Duration

    시간 제한 사용 옵션이 선택된 경우 플로우가 계속되기까지 대기하는 시간입니다. 대기 시간을 시, 분, 초 단위로 입력합니다. 이 필드를 비워 두면 플로우가 기다리지 않습니다.

    출력

    이러한 출력은 데이터 패널에 표시됩니다. 이러한 항목을 플로우의 다른 곳에서 입력으로 사용할 수 있습니다.

    페이로드
    데이터 유형: String

    sendMessage() API에서 반환되는 텍스트 문자열입니다. 상위 플로우는 페이로드 값을 다른 작업 또는 플로우 논리에 대한 입력으로 사용할 수 있습니다.

    상태
    데이터 유형: Choice
    숫자 값으로 표시되는 작업의 완료 상태입니다.
    • 0(성공)
    • 1(오류)

    일반 가이드라인

    메시지를 기다리는 플로우를 생성할 때 다음과 같은 일반 지침을 사용하십시오.
    이 작업을 사용하여 워크플로우 이벤트 대기 활동 변환
    WF 이벤트 대기 작업을 사용하는 클래식 워크플로우를 메시지 대기 작업을 사용하는 플로우로 변환합니다. 이벤트 이름을 플로우를 재개하는 메시지 텍스트로 사용할 수 있습니다.
    sendMessage() 메서드를 사용하여 메시지 생성
    sendMessage() 메서드를 사용하여 대기 중인 플로우에 대한 메시지를 생성합니다. 플로우가 메시지를 다시 실행하도록 하려면 스크립트 단계로 사용자 지정 동작을 생성하여 메시지를 생성합니다. 또는 메시지를 생성하는 이벤트처럼 플로우 외부에서 실행되는 스크립트 논리를 생성합니다. sendMessage() API에 대한 자세한 내용은 다음 문서를 참조하십시오 FlowAPI - sendMessage(String contextSysID, String message, String payload).

    메시지가 실행될 때까지 대기 플로우 논리로 다시 이동

    대기 중 상태인 메시지 대기 작업의 실행 상세 정보입니다. 플로우의 다른 단계는 실행되지 않음 상태입니다.

    이 예시 플로우에서 승인 상태에 따라 메시지 대기 작업의 실행 여부가 결정됩니다. 승인 상태를 건너뛰거나 거부하는 경우 플로우는 계속되기 전에 sendMessage() API의 메시지를 기다립니다. 이 논리를 사용하여 거부된 승인 요청을 수정하고 승인을 위해 다시 제출할 수 있습니다.

    이 예시에서는 Fred Luddy가 승인을 거부하고 추가 정보를 요청했습니다. 흐름을 다시 시작하려면 누군가가 Fred의 의견을 처리한 다음 sendMessage() API를 실행하여 적절한 메시지 Resume Flow를 보내야 합니다.

    완료됨 상태의 메시지 대기 작업에 대한 실행 상세 정보입니다. 페이로드의 런타임 값은 승인을 위해 다시 제출됨입니다.

    변경 요청을 수정한 후 누군가 sendMessage() API를 실행하여 플로우 재개 메시지를 전송하고 플로우에 승인을 위해 재제출이라는 페이로드 값을 전송합니다. sendMessage() API에 대한 자세한 내용은 다음 문서를 참조하십시오 FlowAPI - sendMessage(String contextSysID, String message, String payload).

    API 메시지 값이 메시지 대기 작업의 조건과 일치했기 때문에 플로우 실행이 재개되었습니다. 이 경우 플로우는 플로우 로직으로 돌아가기 블록을 사용하여 승인 요청 작업을 다시 실행했습니다.

    승인을 위해 다시 제출됨이라는 텍스트가 있는 변경 기록의 활동 스트림 예시.

    다음은 변경 요청의 활동 로그입니다. 승인을 위해 다시 제출됨이라는 페이로드 값이 추가 의견 필드에 추가되었습니다.