REST API 트리거

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기4분
  • 외부 시스템의 인바운드 API 호출 또는 웹후크에서 플로우를 시작합니다. 사용자 지정 코드를 작성하거나 유지 관리할 필요 없이 트리거 시작 조건을 구성합니다.

    예를 들어, 외부 공급업체 IT 티켓 추적 시스템에서 인스턴스로 인바운드 요청을 보낼 때 시작되는 플로우를 생성할 수 있습니다. 그런 다음 인바운드 REST 요청의 데이터를 복잡한 데이터 객체로 구문 분석하고 해당 값을 사용하여 인스턴스에서 인시던트를 열 수 있습니다.

    플로우를 활성화하면 생성한 엔드포인트가 API 탐색기에서 생성한 네임스페이스 아래에 나타납니다. 이 페이지를 사용하여 외부 공급업체 시스템에서 웹후크를 정의하고 플로우를 테스트할 수 있습니다.

    플로우 트리거에 대한 자세한 내용은 다음을 참조하십시오. 워크플로우 스튜디오 트리거 유형.

    주:
    REST API 트리거를 사용하여 외부 시스템의 REST 호출로부터 플로우를 시작합니다. 동일한 인스턴스의 스크립트 또는 API 호출로 플로우를 시작하려면 하위 플로우, 코드 스니펫 또는 워크플로우 스튜디오 API를 사용하십시오. 참조 API 액세스 대상 워크플로우 스튜디오 및 흐름, 하위 흐름 및 작업에 대한 코드 조각을 만듭니다.

    사용 가능한 데이터 알약

    엔드포인트를 구성하는 방법에 따라 Flow Designer는 트리거에서 다음 데이터 알약에 액세스할 수 있습니다.

    경로 매개변수
    인바운드 요청에 경로 매개변수를 포함하는 객체입니다.
    쿼리 매개변수
    인바운드 요청에 쿼리 매개변수를 포함하는 객체입니다.
    요청 헤더
    인바운드 요청에 헤더를 포함하는 객체입니다.
    요청 본문
    인바운드 요청의 본문 구조를 정의하는 복합 데이터 객체입니다. 복잡한 객체에 대한 자세한 내용은 을 참조하십시오 Complex data.

    트리거를 설정할 때 인바운드 데이터의 모양을 정의합니다. 그런 다음 플로우의 작업 내에서 연결된 데이터 알약을 사용할 수 있습니다. 시스템이 플로우를 시작하는 인바운드 요청을 수신하면 요청에서 전송된 런타임 값을 사용합니다.

    REST API 트리거를 사용하여 플로우 생성

    외부 공급업체 시스템에서 인스턴스에 REST 요청을 보낼 때 시작되는 플로우를 생성합니다.

    시작하기 전에

    필요한 역할: flow_designer 또는 admin

    주:
    이 기능을 사용하려면 Integration Hub 엔터프라이즈 구독이 필요합니다. 자세한 내용은 Integration Hub 요청 문서를 참조하십시오.

    프로시저

    1. 플로우를 열고 워크플로우 스튜디오 생성합니다.

      플로우 만들기를 참조하십시오.

      플로우의 범위는 생성하는 REST 엔드포인트에 포함됩니다.

    2. 트리거 섹션에서 REST API - 비동기 트리거를 선택합니다.
    3. HTTP 메서드 필드에서 엔드포인트에 대한 HTTP 메서드를 설정합니다.
      옵션은 다음과 같습니다.
      • 게시
      • 임포트
      • 삭제
      • 넣기
      • 패치
    4. 엔드포인트에 필요한 경로 매개변수를 생성하고 경로 필드의 상대 경로에 추가합니다.
      엔드포인트에 대한 상대 경로는 /api/<flow-application-scope>/<flow-name>/<path-parameters> 형식입니다.

      복사를 클릭하여 엔드포인트에 대한 전체 경로를 복사할 수 있습니다. 외부 공급업체 시스템에서 REST 호출에 대한 엔드포인트를 구성할 때 이 경로를 사용합니다.

      1. 경로 매개변수 섹션에서 변수를 생성합니다.
      2. 경로 매개변수를 나타내는 데이터 알약을 경로 필드의 빈 입력으로 끌어 놓습니다.

        이 필드는 경로 매개변수 섹션의 데이터 알약만 허용합니다.

    5. 인바운드 REST 요청에서 인증 헤더가 필요하도록 하려면 인증 필요를 선택합니다.
    6. 인증 필요를 선택한 경우 역할 필요 필드에 요청을 승인하는 데 필요한 역할을 추가합니다.
    7. 요청 콘텐츠 섹션의 본문 필드에서 인바운드 요청의 본문 구조를 정의하는 복합 데이터 객체를 만듭니다.

      복잡한 개체를 빌드하는 방법에 대한 자세한 내용은 복잡한 데이터를 참조하세요.

      주:
      콘텐츠 요청 섹션은 HTTP 메서드가 POST, PUT 또는 PATCH인 경우에만 나타납니다.

      이 예시 본문은 외부 공급업체 티켓 추적 시스템의 티켓 정보를 포함하는 인바운드 페이로드에서 설명 필드를 찾습니다.

    8. 헤더 필드에서 인바운드 요청에 보낼 헤더를 정의합니다.
      필수를 선택하여 인바운드 요청에 이를 포함하도록 요구할 수 있습니다.
    9. 쿼리 매개변수 필드에서 인바운드 요청에서 보낼 쿼리 매개변수를 정의합니다.
      필수를 선택하여 인바운드 요청에 이를 포함하도록 요구할 수 있습니다.
    10. 엔드포인트가 호출될 때 실행되는 작업을 플로우에 추가합니다.

      플로우 작업에서 REST API 트리거의 데이터 알약을 사용할 수 있습니다.

      이 작업은 인시던트 기록을 생성하고 수신 페이로드의 설명 및 할당 그룹 필드를 인시던트에 매핑합니다.

    11. 플로우를 테스트하고 활성화합니다.
      자세한 내용은 흐름 테스트흐름 활성화를 참조하십시오.

      활성화되면 엔드포인트가 REST API 탐색기에 표시됩니다. 이 페이지를 사용하여 엔드포인트를 추가로 테스트하거나 타사 시스템에서 요청을 구성할 수 있습니다.

    12. 외부 공급업체 시스템에서 REST 요청을 구성합니다.
      예를 들어 이 cURL 요청을 전송하여 이전 단계에서 정의된 플로우를 트리거할 수 있습니다.
      curl "https:your-instance.servicenow.com/api/now/create_incident_from_external_event/assignment_group/287ebd7da9fe198100f92cc8d1d2154e" \
      --request POST \
      --header "Accept:application/json" \
      --header "Content-Type:application/json" \
      --data "{
      fields: {
         description: \"Major outage with data loss\"
         }
      }" \
      --user 'username':'password'

    결과

    플로우가 실행되고 REST 요청이 실행 ID를 반환합니다.
    {
      "result": {
        "executionId": "ndoxeRhshDSezldeGfbYlviFSeFnBjCO"
      }
    }

    다음에 수행할 작업

    결과의 실행 ID를 복사하고 플로우 디자이너의 실행 탭으로 이동합니다. 실행 ID별로 필터링하여 실행 세부 정보를 찾고 실행 상태를 볼 수 있습니다.

    문제를 해결하기 위해 REST 쿼리를 디버그하거나 플로우 실행 상세 정보를 확인할 수 있습니다. REST 쿼리 디버그플로우 실행 상세 정보를 참조하십시오.