문서/관리자 가이드/웹훅

웹훅

조직에서 흥미로운 일이 일어날 때마다 HMAC 서명 이벤트 전달을 받는 아웃바운드 웹훅 엔드포인트를 등록합니다. 관리자 페이지는 엔드포인트 CRUD를 처리합니다. 자세한 전달 계약 — 이벤트 카탈로그, 서명 검증, 재시도 일정 — 은 API → 웹훅에 있습니다.

위치

사이드바 → 통합 섹션 아래의 웹훅, /organization/webhooks입니다.

엔드포인트 생성

+ 엔드포인트 추가을 클릭합니다. 대화 상자는 다음을 요청합니다:

  • URL — 전달을 받을 공개 HTTPS URL입니다. 터널(cloudflared, ngrok)은 로컬 개발에 잘 작동합니다.
  • 설명 (선택 사항) — 짧은 메모, 예를 들어 "Slack #appsec notifier" 또는 "Jira ticket creator"입니다.
  • 이벤트 — 구독할 이벤트 유형입니다. 오늘 출하되는 네 가지 이벤트는 assignment.created, assignment.completed, sarif.ingestedcertificate.issued입니다.

제출 시 대화 상자는 서명 시크릿(whsec_…)을 한 번 표시합니다. 즉시 시크릿 매니저에 복사하세요. 모든 수신 전달을 검증하는 데 필요합니다. Node, Python 및 Go의 검증 코드는 API → 웹훅를 참조하세요.

엔드포인트 나열

목록 보기는 조직의 모든 웹훅 엔드포인트를 표시합니다. 각 행에는 URL, 구독된 이벤트, 생성자 및 라이브 상태 표시기가 있습니다:

상태의미
정상마지막 전달이 2xx 응답을 반환했습니다.
실패 중마지막 전달이 2xx가 아닌 응답을 반환했거나 시간 초과되었지만, 엔드포인트는 여전히 재시도되고 있습니다.
대기 중엔드포인트가 존재하지만 아직 첫 전달을 받지 않았습니다.
비활성화됨엔드포인트가 최근 전달에서 재시도 일정을 소진하여 자동으로 비활성화되었습니다. 마지막 전달 타임스탬프는 실패한 시점을 볼 수 있도록 보존됩니다.

편집 및 삭제

URL, 설명 또는 이벤트 구독 목록을 업데이트하려면 편집을 클릭합니다. 활성 토글을 끄면 엔드포인트를 삭제하지 않고 전달이 일시 중지됩니다. 다시 켜면 전달이 재개되고 자동 비활성화 상태가 지워집니다. 엔드포인트를 완전히 제거하려면 삭제를 클릭합니다 — 대기 중인 전달이 취소되고 행이 목록에서 제거됩니다.

최근 전달 검사

각 행의 ⟳ 전달 버튼은 해당 엔드포인트에 대한 가장 최근 50개의 전달 시도를 나열하는 드로어를 엽니다. 각 항목은 이벤트 유형, 이벤트 ID, 현재 상태(pending / delivered / failed / exhausted), 시도 횟수, 엔드포인트가 반환한 HTTP 상태 코드, 오류 메시지 및 타임스탬프를 표시합니다.

이 보기를 사용하여 자체 수신기를 계측하지 않고도 잘못 작동하는 컨슈머를 디버깅하세요 — 수신기가 5xx를 반환하는 경우, 여기에 표시되는 메시지는 애플리케이션이 기록한 것과 동일한 메시지입니다.

재시도 및 자동 비활성화

실패한 전달은 총 5번 시도까지 1분 → 5분 → 30분 → 2시간 일정으로 재시도됩니다. 다섯 번째 실패 후 엔드포인트는 자동으로 비활성화되고 마지막 전달은 exhausted로 표시됩니다. 다시 활성화하려면 수신기를 수정한 다음 편집 대화 상자에서 활성를 클릭하거나 {"isActive": true}와 함께 API PATCH /api/sch/org/webhooks/{id}를 보내세요.

프로그래밍 액세스

이 페이지의 모든 작업은 공개 API에서도 도달 가능합니다 — CRUD 화면 및 전달 계약은 API → 웹훅를 참조하세요.