웹훅 이벤트 및 페이로드

웹훅은 application/jsonContent-Type과 함께 전달되며, 이벤트 페이로드는 요청 본문에 JSON 형식으로 포함됩니다. 또한 다음과 같은 헤더를 함께 보냅니다.

  • X-Snyk-Event - 이벤트 이름

  • X-Snyk-Transport-ID - 이 전송을 식별하기 위한 GUID

  • X-Snyk-Timestamp - 이벤트가 발생한 시간의 ISO 8601 타임스탬프 (예: 2020-09-25T15:27:53Z)

  • X-Hub-Signature - 요청 본문의 HMAC 헥스 다이제스트(hex digest)로, 웹훅을 보호하고 요청이 실제로 Snyk에서 온 것임을 보장하는 데 사용됩니다.

  • User-Agent - 요청의 출처를 식별합니다 (예: Snyk-Webhooks/XXX)

서버가 페이로드를 받도록 구성된 후에는 구성한 엔드포인트로 전송되는 모든 페이로드를 수신 대기합니다. 보안상의 이유로 Snyk에서 오는 요청으로만 제한해야 합니다.

웹훅 이벤트를 소비하는 동안 X-Snyk-Event 헤더를 반드시 확인해야 합니다. 엔드포인트는 설명된 대로 여러 이벤트 유형을 수신할 수 있기 때문입니다.

ping

ping 이벤트는 새로운 웹훅이 생성된 후에 발생하며, 웹훅 핑 API를 사용하여 수동으로 트리거할 수도 있습니다. 이는 웹훅이 Snyk으로부터 데이터를 올바르게 수신하는지 테스트하는 데 유용합니다.

ping 이벤트는 다음과 같은 요청을 수행합니다.

POST /webhook-handler/snyk123 HTTP/1.1
Host: my.app.com
X-Snyk-Event: ping/v0
X-Snyk-Transport-ID: 998fe884-18a0-45db-8ae0-e379eea3bc0a
X-Snyk-Timestamp: 2020-09-25T15:27:53Z
X-Hub-Signature: sha256=7d38cdd689735b008b3c702edd92eea23791c5f6
User-Agent: Snyk-Webhooks/044aadd
Content-Type: application/json
{
  "webhookId": "d3cf26b3-2d77-497b-bce2-23b33cc15362"
}

project_snapshot

이 이벤트는 기존 프로젝트가 테스트되고 새로운 스냅샷이 생성될 때마다 트리거됩니다. 새로운 문제의 발생 여부와 관계없이 프로젝트의 모든 테스트 시 트리거됩니다. 이 이벤트는 새로운 프로젝트가 생성되거나 가져올(Import) 때는 트리거되지 않습니다. 현재 지원되는 대상/스캔 유형은 오픈소스 및 컨테이너입니다.

페이로드 상세 예시

프로젝트

프로젝트 (v1) API를 참조하십시오.

조직

조직 (v1) API를 참조하십시오.

그룹

그룹 (v1) API를 참조하십시오.

문제

Last updated