공유

웹후크 안내서

웹후크를 사용하면 사용자가 제어하는 서비스는 Flow Production Tracking에서 발생하는 이벤트에 대한 알림을 받을 수 있습니다. 웹후크를 만들 때 관심 있는 이벤트 유형을 지정하고 이벤트가 트리거될 때 데이터를 보낼 URL을 Flow Production Tracking에 알려 주십시오. Flow Production Tracking에서 관련 이벤트가 발생하면 이벤트를 정의하는 데이터 페이로드가 웹후크의 URL로 전송됩니다. 이런 방법으로 Flow Production Tracking와의 긴밀한 통합을 구축하고 워크플로우의 일부를 자동화할 수 있습니다.

별표 목차

웹후크 사용 방법에는 어떤 것이 있습니까?

다양한 웹후크 사용 사례가 있습니다. 설득력 있는 몇 가지 사례가 이 문서에 개략적으로 설명되어 있지만 이러한 몇 가지 예에 국한되지는 않습니다.

엔티티 생성 시 디스크에 디렉토리 구조 만들기

우리가 여러 번 확인한 워크플로우 중에는 Flow Production Tracking에서 새 엔티티가 생성될 때 디스크에 디렉토리 구조를 생성하는 것이 있습니다. Flow Production Tracking에서 엔티티가 생성되면 자동으로 아티스트 작업을 위한 새 샷이 준비되도록 할 수 있습니다.

상태 관리 자동화

애니메이션 팀이 작업을 완료하면, 후속 작업을 시작할 준비가 되었음을 나타내도록 동일한 샷의 다운스트림 태스크 상태를 변경할 수 있습니다. 이 방법을 통해 여러 분야에서 할당된 아티스트에게 작업을 시작할 수 있음을 자동으로 통지할 수 있습니다.

상태 관리 자동화의 또 다른 좋은 예는 새 Note가 작성될 때 Task 엔티티의 상태 변경을 트리거하는 것입니다. 아티스트 및 프로덕션 팀에게 감독이 리뷰 세션 후에 현재 작업에 대한 변경 또는 수정을 요청했음을 알려 주기에 좋은 방법입니다.

언제 Flow Production Tracking 이벤트 데몬 대신 웹후크를 사용해야 합니까?

웹후크와 Flow Production Tracking 이벤트 데몬은 비슷한 기능을 제공하지만 몇 가지 중요한 차이점이 있습니다. 이벤트 데몬을 사용하려면 사용자 고유의 서비스를 실행, 모니터링 및 유지 관리해야 합니다. 모든 사용자 코드는 Python으로 작성해야 하며 그래야 Flow Production Tracking에 대한 사용자 고유의 연결을 시작할 수 있습니다. 웹후크는 이와 달리 연결에 응답하며 모든 프로그래밍 언어로 작성할 수 있습니다. 웹후크는 AWS Lambda와 같은 서버리스 환경에서 호스트되거나 ZapierIFTTT와 같이 온라인으로 사용 가능한 모든 자동화 플랫폼을 트리거할 수 있습니다. 웹후크를 사용한 경우에는 이 솔루션을 사용하는 것이 좋습니다.

웹후크 이벤트 데몬
사용 범위 몇 가지 유형의 이벤트 관찰 Firehose(모두 전송, 나중에 필터링)
설정 및 모니터링 Autodesk에서 관리함 고객이 제공함
지원되는 스크립팅 언어 모두(HTTP 기반) Python
스로틀링 전달당 최대 6초 추가 정보 없음
실패한 전달 복구 UI 또는 API를 통해 다시 전송 특정 이벤트 ID에서 시작하는 모든 전달 재시작
전달 로그 보유 7일 사용자 지정 가능(이벤트 보유 기간 기본 설정)
복구 지난 24시간 동안 최대 100개의 실패한 전달 허용 해당 없음
전달 보장 아니요
참고:

ShotGrid는 트랜잭션을 사용합니다. 어떤 작업은 다른 작업보다 오래 걸리거나 실패할 수 있기 때문에 일부 이벤트 ID가 누락될 수 있습니다. 또한 일부 항목이 순서가 맞지 않는 타이밍으로 시스템에 나타날 수 있습니다. 웹후크 시스템은 ID 순서가 아니라 이벤트가 발생하는 대로 전달합니다. 반면 이벤트 데몬은 이벤트를 ID 순서대로 처리하기 위해 간격이 생길 때까지 기다렸다가 처리를 계속합니다.

웹후크 구독에 사용할 수 있는 이벤트는 무엇입니까?

웹후크는 SG 사이트에 대해 사용 중인 엔티티에 대해 만들어질 수 있습니다. Flow Production Tracking는 두 개의 광범위한 이벤트 그룹에 대한 웹후크를 지원합니다.

1. 엔티티 유형 수명 주기 이벤트

  • 엔티티가 생성, 복구, 업데이트 또는 삭제될 때마다 생성되는 이벤트입니다.
  • 엔티티 수명 주기 이벤트의 엔티티 옵션은 API 호출을 통해 사용할 수 있는 엔티티로 제한됩니다.

2. 커스텀 이벤트

  • 일반적으로 엔티티의 수명 주기와 관련이 없지만 Flow Production Tracking 시스템에서 이벤트가 발생할 때 생성되는 이벤트입니다.
  • 예: 사용자가 로그인, 로그아웃 또는 데이터 가져오기를 수행하거나 액션 메뉴 항목을 트리거하는 경우입니다.

Flow Production Tracking Python API 또는 Rest API를 사용하여 API 액세스에 사용할 수 있는 엔티티의 전체 목록을 검색할 수 있습니다.

웹후크 구독에 사용 가능한 커스텀 이벤트

  • ClientUser_FailedLogin
  • ClientUser_Login
  • ClientUser_Logout
  • CRS_HumanUser_Thumbnail_Access_By_Client
  • CRS_PlaylistShare_Create
  • CRS_PlaylistShare_Revoke
  • CRS_Preferences_Change
  • CRS_Version_Media_Download
  • CRS_Version_Thumbnail_Access_By_Client
  • SG_RV_Session_Validate_Success
  • Flow Production Tracking_Invitation
  • Flow Production Tracking_PAT_Added
  • Flow Production Tracking_PAT_Exchanged
  • Flow Production Tracking_PAT_Removed
  • Shotgun_ActionMenuItem_Triggered
  • Shotgun_CutSupportDataMigration_data_migration
  • Shotgun_CutSupportDataMigration_disable_cutversionconnection
  • Shotgun_CutSupportDataMigration_schema_cleanup
  • Shotgun_DisplayColumn_Delete
  • Shotgun_ImportApp_Complete
  • Shotgun_ImportApp_Failed
  • Shotgun_ImportApp_Start
  • Shotgun_NotesApp_Summary_Email
  • Shotgun_Nsx_Support_Ticket
  • Shotgun_PageSetting_Change
  • Shotgun_PermissionRuleSet_ChangeRule
  • Shotgun_PermissionRuleSet_DeleteRule
  • Shotgun_PermissionRuleSet_NewRule
  • Shotgun_Preferences_Change
  • Shotgun_ProjectConfiguration_Update
  • Shotgun_Reading_Change
  • Shotgun_Review_Tools_Version_View
  • Shotgun_User_FailedLogin
  • Shotgun_User_Login
  • Shotgun_User_Logout
  • Shotgun_User_PasswordChange
  • Shotgun_ValidationRule_Create
  • Shotgun_Webhook_Created
  • Shotgun_Webhook_Deleted
  • Shotgun_Webhook_Updated

제외된 이벤트

웹후크는 API 스키마 쿼리(Python API, Rest API 참조)에 의해 반환된 일부 엔티티에 사용할 수 없습니다. 제외 사항은 다음과 같습니다.

  • API 사용자
  • 이벤트 로그 항목
  • 연결 엔티티(내부적으로 엔티티 간 관계를 만들기 위해 Flow Production Tracking에서 사용하는 엔티티). 연결 엔티티는 일반적으로 이름에 Connection을 포함합니다.

엔티티 수명 주기 이벤트는 언제 발생합니까?

Flow Production Tracking는 만들기, 업데이트, 삭제 및 재생 시 엔티티 수명 주기 이벤트에 대한 구독을 지원합니다.

  • 만들기 이벤트: 웹 U 또는 API 요청에서 새 엔티티가 만들어지면 생성됩니다.
  • 업데이트 이벤트: 초기 생성 후 엔티티에서 필드가 업데이트되면 생성됩니다. 업데이트 수명 주기 이벤트를 구독한 경우 초기 생성 후 필드의 모든 업데이트 작업에 대해 웹후크 전달이 발생합니다. 해당 엔티티의 초기 생성 작업에 대한 필드 업데이트를 구독한 경우 웹후크 전달이 발생하지 않습니다.
  • 삭제 이벤트: 엔티티가 논리적으로 삭제될 때 생성됩니다(휴지통으로 이동됨).
  • 재생 이벤트: 엔티티가 논리적으로 재생될 때 생성됩니다(휴지통에서 복원됨).

웹후크 생성

웹후크 페이지에서 웹후크 만들기

웹후크 생성을 시작하려면 웹후크 페이지로 이동합니다.

웹후크 생성 버튼

그런 다음 웹후크 생성(Create Webhook) 을 선택합니다.

웹후크 생성 버튼

참고:

웹후크에 대한 액세스는 고급 권한(Advanced Permissions)의 웹후크 표시(Show Webhooks) 를 통해 제어됩니다. 관리자(Admin) 및 매니저 권한 역할에 대해 기본적으로 활성화되어 있습니다. 웹후크 생성 대화상자.

그런 다음 새 웹후크를 생성하는 데 필요한 정보를 입력합니다.

웹후크 생성 대화상자

이벤트 로그에서 웹후크 만들기

이벤트 로그 항목 페이지에서 이벤트 로그 항목 레코드를 마우스 오른쪽 버튼으로 클릭하고 이벤트에서 웹후크 작성(Create Webhook from event)을 선택합니다.

웹후크 이벤트 로그 만들기

그러면 웹후크 작성 양식이 열리고 미리 채워집니다. 

웹후크 이벤트 로그 만들기

비밀 토큰

웹후크에 비밀 토큰을 할당하는 것은 선택 사항입니다. 비밀 토큰을 제공한 경우 해당 웹후크 URL에 전송된 모든 요청은 해당 토큰을 사용하여 서명됩니다. 토큰 값은 요청과 함께 X-SG-SIGNATURE라는 이름의 헤더로 전송됩니다. 서명은 SHA1과 함께 HMAC를 사용하여 계산되고 서명된 메시지는 요청의 JSON 본문입니다.

비밀 토큰

헤더 형식

<algorithm>=<signature>

비밀 토큰을 사용하는 이유는 무엇입니까?

꼭 필요한 것은 아니지만 비밀 토큰을 제공하면 웹후크 URL로 전송된 페이로드가 서명됩니다. 이를 통해 사용자 서비스는 예상한 소스에서 데이터가 생성되었으며 전송 중에 페이로드가 변경되지 않았음을 확인할 수 있습니다.

서명 확인

Python을 사용한 페이로드 서명 확인 방법의 예가 아래에 나와 있습니다.

>>> import hmac
>>> import hashlib
>>> body | `<json body>'
>>> token | `mytoken'
>>> 'sha1=' + hmac.new(token, body, hashlib.sha1).hexdigest()  == 'sha1=32824e0ea4b3f1ae37ba8d67ec40042f3ff02f6c'
True

SSL 인증서 유효성 확인

SSL 인증서 유효성 확인은 웹후크의 사용자 URL에 대한 모든 연결의 보안을 유지하는 데 도움이 되는 선택적 기능입니다. 이 옵션이 설정된 경우 웹후크의 URL로 전달이 이루어지면 Flow Production Tracking는 OpenSSL 인증서 유효성 확인 루틴을 사용하여 인증서를 확인합니다.

SSL 인증서 유효성 확인

배치 형식으로 전달(Deliver in Batched Format)

배치 형식으로 전달(Deliver in Batched Format)

배치 형식으로 전달하는 방법에 대한 자세한 내용은 여기를 참조하십시오.

불안정할 경우 알림(Notify when unstable)

불안정할 경우 알림(Notify when unstable) 을 선택하면 웹후크가 실패할 때 알림을 보낼 사람 또는 그룹을 선택할 수 있습니다. 이 설정은 선택 사항입니다.

불안정할 경우 알림(Notify when unstable)

프로젝트 및 엔티티별 필터링

특정 프로젝트, 엔티티 및 필드를 선택하면 웹후크에 대한 트래픽이 최소화되어 다음과 같은 결과가 나타납니다.

  • 성능 개선
  • 리소스 비용 절감
  • 불필요한 백로그 방지

웹후크 필터

참고:

프로젝트를 선택하면 버전과 같이 항상 단일 프로젝트에 속하는 엔티티만 선택할 수 있습니다. 작업자와 같은 비 프로젝트(또는 다중 프로젝트) 엔티티를 선택하려면 프로젝트를 선택하지 마십시오. 이렇게 하면 엔티티 업데이트 시에 웹후크 이벤트 필터링으로 인해 성능 오버헤드가 부가되지 않습니다.

엔티티 수명 주기 이벤트

샷, 에셋 및 태스크 같은 엔티티에 대한 표준 만들기/재생/업데이트/삭제 이벤트입니다.

웹후크 수명 주기

커스텀 이벤트

커스텀 이벤트는 Client Review Site 활동, 사용자 로그인, 권한 변경과 같이 추가로 구독할 수 있는 추가 이벤트입니다.

웹후크 수명 주기

웹후크 상태

웹후크의 상태는 여러 가지 중 하나이며 계속해서 전달을 받을 수 있는 기능 및 상태를 나타냅니다.

웹후크 생성 대화상자

상태 설명
활성(Active) 활성(Active) 웹후크가 안정적인 방식으로 작동합니다. 지난 24시간 동안 이 웹후크의 사용자 URL에 전달이 없으면 해당 대상에 도달하지 못한 것입니다.
불안정(Unstable) 불안정(Unstable) 웹후크가 불안정한 방식으로 작동합니다. 지난 24시간 동안 일부 전달이 대상에 도달하지 못했지만 Flow Production Tracking에서 웹후크가 작동하지 않는 것으로 간주할 정도는 아닙니다.
실패(Failed) 실패(Failed) 웹후크가 작동하지 않는 것으로 간주되고 더 이상 전달을 시도하지 않습니다. 이는 짧은 기간 동안 너무 많은 전달 실패에 따른 결과이며 시스템은 웹후크가 더 이상 실행 가능하지 않은 것으로 판단합니다. 지난 24시간 동안 100번의 전달에 실패한 경우 웹후크가 실패로 간주됩니다.
비활성화됨(Disabled) 비활성화됨(Disabled) 웹후크가 비활성화된 상태이며 다시 활성 상태가 될 때까지 전달이 더 이상 시도되지 않습니다.

전달(Deliveries)

웹후크 목록에서 웹후크를 선택하면 7일 전까지 수행된 해당 웹후크의 모든 전달이 표시됩니다.

참고:

7일보다 오래된 전달 로그는 제거되며 복구할 수 없습니다.

전달 상태(Delivery status)

전달 상태는 웹후크의 URL로 성공적으로 전달되었는지 여부를 나타냅니다.

전달 상태

전달 상세 정보(Delivery details)

전달을 확장하여 웹후크 URL로 전송한 요청과 해당 요청에 대한 응답의 상세 정보를 표시할 수 있습니다.

전달 상세 정보

페이로드 요청

웹후크 URL로 전송한 페이로드에는 Flow Production Tracking에서 발생한 이벤트 및 이벤트를 트리거한 사용자에 대한 정보가 포함됩니다. JSON 형식으로 제공됩니다.

중요:

전달 페이로드의 최대 크기는 1MB입니다. Flow Production Tracking에서 트리거된 이벤트의 페이로드 크기가 1MB보다 크면 new_valueold_value 키가 제거되고 발생 이벤트, 원인 및 Flow Production Tracking에서 전체 이벤트 로그 항목을 검색하는 방법을 설명하는 메시지가 포함된 warning 키가 추가됩니다.

페이로드 예
{
  "data": {
    "id": "11777.3065.0",
    "meta": {
      "type": "attribute_change",
      "entity_id": 1246,
      "new_value": "*Add fog and mist with depth",
      "old_value": "*Add fog and mist.",
      "entity_type": "Shot",
      "attribute_name": "description",
      "field_data_type": "text"
    },
    "user": {
      "id": 88,
      "type": "HumanUser"
    },
    "entity": {
      "id": 1246,
      "type": "Shot"
    },
    "project": {
      "id": 122,
      "type": "Project"
    },
    "operation": "update",
    "created_at": "2022-02-01 20:53:08.523887",
    "event_type": "Shotgun_Shot_Change",
    "delivery_id": "3a5de4ee-8f05-4eac-b537-611e845352fc",
    "session_uuid": "dd6a1d6a-83a0-11ec-8826-0242ac110006",
    "attribute_name": "description",
    "event_log_entry_id": 545175
  },
  "timestamp": "2022-02-01T20:53:09Z"
}
세션 UUID

Flow Production Tracking에서 이벤트를 트리거한 session_uuid가 이벤트 페이로드의 일부로 제공됩니다. 이 값은 Flow Production Tracking의 Python API에 제공될 수 있으며, 그러면 이 session_uuid를 사용하여 열려 있는 모든 브라우저 세션에 API에서 생성한 이벤트에 대한 업데이트가 표시됩니다.

웹후크의 응답

응답(Response) 탭

응답(Response) 탭에는 전달에 대한 웹후크 응답과 관련한 정보가 표시됩니다.

웹후크의 응답 HTTP 헤더, 본문 및 측정된 응답 시간을 확인할 수 있습니다.

웹후크 응답 본문은 최대 100자까지 유지됩니다. (위에 설명한 것처럼 전달 정보는 검토를 위해 7일 동안 유지되며 그 이후 삭제됩니다.)

중요:

웹후크의 응답에 보안 데이터를 포함하지 말고, 응답에서 시스템 오류에 대한 상세 정보를 반환하지 마십시오.

전달에 대한 응답

시스템에서 성공적인 전달로 간주되려면 웹후크 사용자 서비스가 전달에 응답해야 합니다.

경고:

웹후크의 URL로 전달이 전송된 후 6초 내에 응답을 받아야 합니다. 그 이후에는 연결이 종료됩니다. 시간 내에 응답하지 못하면 전달에 실패하게 됩니다.

각 전달에 대한 처리 시간이 기록되며 응답 세부사항 탭에서 확인할 수 있습니다.

스로틀링

Flow Production Tracking의 전달 인프라는 수많은 고객 웹후크를 전달하도록 최적화되어 있으며, 모든 고객을 위한 최적의 성능과 신뢰성을 보장하기 위해 다양한 메커니즘을 갖추고 있습니다. 웹후크 전달이 이루어지면 엔드포인트가 응답하는 데 걸린 시간을 검사합니다. 이 메트릭은 처리되는 전달 볼륨에 대한 정보와 함께 웹후크 엔드포인트가 지속 가능한 속도로 수행되는지 여부를 결정하기 위해 결합됩니다.

전달에 대한 사용자 응답 시간은 사이트의 웹후크 처리량에 영향을 미칩니다.

각 사이트에서는 분당 1분의 응답 시간이 허용됩니다. 사이트에 대해 구성된 모든 사용자 엔드포인트가 응답하는 데 총 6초가 걸릴 경우 해당 사이트의 웹후크 전달이 분당 10번으로 제한됩니다.

전체 처리량을 높여야 할 경우 다음 모델에 따라 사용자 엔드포인트를 설계해야 합니다.

  1. 요청 받기
  2. 또 다른 프로세스/스레드를 생성하여 원하는 방식으로 처리
  3. 즉시 확인 200에 응답

성능 저하의 원인이 될 수 있는 요인은 다음과 같습니다.

  • 잘못 구성되었거나 리소스가 부족한 웹후크 사용자 엔드포인트
  • 응답을 보내기 전에 전달 처리 지연

폭발

과도한 액티비티의 짧은 폭발로 인해 Flow Production Tracking 사이트가 스로틀링되는 경우 폭발적인 이벤트 액티비티가 가라앉으면 정상적인 처리량으로 돌아갑니다. 성능 표시기는 구성된 엔드포인트 중 어느 것이 제대로 작동하지 않는지에 대한 통찰력을 제공합니다.

웹후크 및 지리적 고려 사항

Flow Production Tracking 웹후크 전달 인프라는 AWS 미국-동부-1(버지니아 북부) 지역에서 호스팅됩니다. 일반적인 위치에서 웹후크 엔드포인트를 호스팅하면 전달 시간을 최적화할 수 있습니다.

상태 코드

상태 코드 설명
성공 < 400 전달이 수신되고 성공적으로 처리되었습니다.
오류 >= 400 전달이 수신되었지만 성공적으로 처리되지 않았습니다.
리디렉션 3xx 전달이 수신되었지만 다른 URL로 리디렉션해야 합니다.

실패한 전달 다시 전달

일부 전달이 실패하면 웹후크 엔드포인트가 다시 작동 중인 후 동일한 이벤트의 재전달을 시작할 수 있습니다.

  1. 재시도하려는 전달의 체크박스를 선택합니다.
  2. 그런 다음 재전달 선택됨(Redeliver Selected) 을 선택합니다.

실패한 전달 다시 전달

실패한 전달 나열 및 재전달은 Flow Production TrackingREST API에서도 지원됩니다.

성능

응답 시간

웹후크를 선택하면 현재 응답 시간을 볼 수 있습니다.

응답 시간

응답이 느리고 과도한 로드

느린 응답 시간 및 과도한 로드는 각 웹후크에 색상이 지정된 배지로 표시됩니다. 응답 시간을 기준으로 웹후크를 정렬할 수도 있습니다.

성능 및 정렬

성능의 영향을 받는 웹후크를 선택하면 해당 영향에 대한 자세한 정보가 배너에 표시됩니다.

느린 응답

  • 문제:
    • 이는 응답을 받는 평균 시간이 500ms보다 길 때 발생하며 Webhook가 느리게 응답하는 데 영향을 미칩니다.
  • 해결 방법:
    • 일부 이벤트에 대해 개별 이벤트 처리가 임계값인 500ms를 초과했으므로 인프라를 최적화해야 합니다.

높은 하중

  • 문제:
    • 이는 처리에 소요된 시간/이벤트 시간 범위(전달 세트에 대한)의 비율이 10%를 넘는 경우 발생하며 웹후크가 할당된 대역폭의 10% 이상을 소비하는 데 영향을 미칩니다.
  • 해결 방법:
    • 생성 중인 이벤트 수가 처리 중인 이벤트 수에 비해 상대적으로 많으므로 인프라를 최적화해야 합니다.

매우 높은 하중

  • 문제:
    • 이는 처리에 소요된 시간/이벤트 시간 범위(전달 세트에 대한)의 비율이 50%를 넘는 경우 발생합니다
    • 이 웹후크는 할당된 대역폭의 50% 이상을 사용합니다.
  • 해결 방법:
    • 생성 중인 이벤트 수가 처리 중인 이벤트 수에 비해 상대적으로 많으므로 인프라를 최적화해야 하며 할당된 처리 대역폭의 100% 이상을 소비하면 스로틀링이 초기화됩니다.

확인 응답

확인 응답을 포함하도록 전달을 업데이트할 수 있습니다. 전달이 만들어지면 요청의 일부로 헤더가 제공됩니다. 이러한 헤더에는 x-sg-delivery-id 키에 저장된 전달 레코드의 ID가 포함됩니다. 이 ID는 Flow Production Tracking REST API를 사용하여 확인 응답이 포함되도록 전달 레코드를 업데이트하는 데 사용할 수 있습니다.

중요:

확인 응답에 허용되는 최대 크기는 4KB입니다.

헤더 예

{
  "accept": "application/json",
  "content-type": "application/json; charset=utf-8",
  "x-sg-webhook-id": "30f279a0-42a6-4cf2-bb5e-6fc550d187c8",
  "x-sg-delivery-id": "dea7a71d-4896-482f-b238-b61820df8b65",
  "x-sg-event-batch-id": "1",
  "x-sg-event-batch-size": "4",
  "x-sg-webhook-site-url": "https://yoursite.shotgunstudio.com/",
  "x-sg-event-batch-index": "3"
}

확인 응답의 역할은 무엇입니까?

확인 응답은 웹후크의 URL에서 성공적으로 수신한 전달 처리의 성공 또는 실패에 대한 대역 외 상세 보고를 허용합니다. 이를 통해 Flow Production Tracking에서 전달 수신 상태를, 해당 전달과 관련된 이벤트 처리의 성공 또는 실패와 구분할 수 있습니다. 결과적으로, 성공적으로 전달된 이벤트에서 디버깅을 위해 유용한 추가 정보를 포함할 수 있습니다.

Asset 엔티티 생성 시 트리거되는 웹후크가 좋은 예입니다. 웹후크의 역할이 새로운 각 Asset에 대해 디스크에 디렉토리 구조를 만드는 것인 경우, 웹후크의 URL을 성공적으로 전달받을 수 있지만 디스크 또는 네트워크 문제로 인해 관련 디렉토리를 만들지 못할 수도 있습니다. 이 경우 디렉토리 구조가 생성되지 않은 사실과 그 원인을 나타내는 자세한 오류 메시지와 함께 전달 레코드가 업데이트됩니다.

웹후크 테스트

자유롭게 사용할 수 있는 온라인 웹후크 URL 생성기 중 하나를 테스트용으로 사용할 수 있습니다. 이러한 서비스는 특별히 웹후크 및 기타 유형의 HTTP 요청 테스트에 사용해야 합니다. 이 방법은 고유의 네트워크에 인프라를 설정할 필요 없이 웹후크를 배우기 시작할 때 좋습니다.

webhook.site 사용

webhook.site를 사용하는 것이 좋습니다. 이는 웹후크에 복사하여 붙여넣을 수 있는 고유한 URL로, 해당 주소에 대한 전달 현황을 실시간으로 보여 줍니다. 전달에 응답할 때 특정 상태 코드 및 본문을 사용하도록 이 페이지를 사용자 지정하여, 전달 성공 및 실패를 테스트할 수 있습니다.

webhook.site의 서비스는 매우 속도에 제한적입니다. 즉, 일부 전달이 거부되거나 불안정해지거나 실패한 웹후크 상황에서 쉽게 종료될 수 있습니다. 테스트할 때는 프로덕션의 라이브 데이터 대신, 알려져 있으며 제어 가능한 프로젝트 환경을 사용하는 것이 좋습니다.

중요:
중요: 공개적으로 사용할 수 있는 타사 웹 서비스에는 프로덕션 이벤트 데이터를 전송하지 않는 것이 좋습니다. webhook.site와 같은 서비스를 사용하여 웹후크를 테스트하는 경우 테스트 데이터만 사용하는 것이 좋습니다.

연결 테스트

연결 테스트 버튼을 사용하여 구성된 웹후크에 테스트 페이로드를 전송합니다. 페이로드는 다음과 같습니다(배치 전달이 활성화된 상태).

{
  "data": {
    "deliveries": [
      {
        "id": "947.476.0",
        "event_log_entry_id": 335223354,
        "event_type": "Test_Connection",
        "operation": "test_connection",
        "user": {
          "type": "HumanUser",
          "id": 88
        },
        "entity": {
          "type": null,
          "id": 0
        },
        "project": {
          "type": "Project",
          "id": 0
        },
        "meta": {
          "type": "test_connection",
          "entity_type": "null",
          "entity_id": "null",
          "hook_id": "085512eb-0c62-4e98-bd36-386bb6579e2d"
        },
        "created_at": "2024-03-11 16:22:46.098513",
        "attribute_name": null,
        "session_uuid": null,
        "delivery_id": "6d0a3bcd-22d9-4321-940f-43bb92fdf6cf"
      }
    ]
  },
  "timestamp": "2024-03-11T16:22:46Z"
}
팁:

이러한 테스트 이벤트를 적절하게 처리하고(상태 200 반환) 사용자 쪽에서 모든 처리를 건너뛰는 것이 좋습니다.

REST API를 사용한 웹후크 관리

Flow Production Tracking 웹후크 관리는 Flow Production TrackingREST API에서 지원됩니다.

전달과 관련해 지원되는 작업은 다음과 같습니다.

  • 전달 나열
  • 전달 업데이트(확인 응답)
  • 실패한 전달 다시 전달

웹후크의 IP 주소

경고:

2023년 11월 19일 일요일부터 Flow Production Tracking 웹후크는 다음 IP 중 하나를 사용합니다. 2023년 11월 19일 이전에 이러한 새 IP가 IP 네트워크 제한 구성에 추가되지 않으면 웹후크 전달이 실패합니다. 여기에서 업데이트에 대해 자세히 알아보십시오.

  • 3.237.56.50
  • 44.212.169.159
  • 50.19.229.121

웹후크의 경우 Flow Production Tracking는 클라이언트가 소유하고 관리하는 외부 서버로 HTTPS 요청을 전송합니다. 네트워크에서 IP를 허용하도록 설정할 때(IT 팀에서 구성 및 유지 관리함) 요청을 수락할 IP 주소를 제한할 수 있습니다(예: Flow Production Tracking에서 들어오는 요청으로 제한). 웹후크 전달 엔드포인트(예: 방화벽)에 대한 네트워크 제한 조치를 설정하는 경우 IT 팀이 이러한 제한을 추가해야 합니다. 그렇지 않으면 웹후크의 전달이 실패하여 Flow Production Tracking 웹후크 페이지가 영향을 받을 수 있습니다. 참고: 이 구성은 승인된 컴퓨터의 IP 주소를 나열하여 사이트와 상호 작용할 수 있는 컴퓨터를 처리하는 IP 허용 목록 사이트 기본 설정과 혼동해서는 안 됩니다. 웹후크 전달 엔드포인트에 대한 네트워크 제한이 있는 경우에는 IT 팀이 네트워크 구성에서 이러한 IP를 허용하는 작업을 처리합니다.

Flow Production Tracking에서 들어오는 모든 트래픽은 다음 IP 중 하나를 사용하게 됩니다.

2023년 11월 19일 일요일부터

  • 3.237.56.50
  • 44.212.169.159
  • 50.19.229.121

2023년 11월 19일 이전

  • 34.200.155.69
  • 34.224.232.103
  • 34.202.127.170
중요:

이러한 IP 주소를 지금 업데이트하고 11월 19일 이후 몇 주 동안 새 IP 주소 외에 11월 19일 이전에 사용한 IP도 유지하는 것이 좋습니다. 두 세트를 모두 허용해야 원활하게 전환할 수 있습니다. Flow Production Tracking 에코시스템, FQDN(정규화된 도메인 이름) 및 네트워크 액세스를 제한하는 방법에 대한 자세한 내용은 여기에서 FQDN 및 IP 항목을 참조하십시오.

이 정보가 도움이 되셨습니까?