웹후크 정보
웹후크를 사용하면 소프트웨어 시스템에서 발생하는 이벤트를 구독하고 해당 이벤트가 발생할 때마다 자동으로 데이터를 서버로 받을 수 있습니다.
웹후크를 사용하여 이벤트가 발생할 경우 데이터를 사용할 수 있는지 확인하기 위해 API를 폴링(간헐적으로 API 호출)하는 것과 달리 데이터를 수신할 수 있습니다. 웹후크의 경우 웹후크를 만들 때 이벤트에 대한 관심을 한 번만 표현하면 됩니다.
웹후크는 다음을 비롯한 다양한 시나리오에서 사용됩니다.
- 외부 CI 서버에서 CI(연속 통합) 파이프라인을 트리거합니다. 예를 들어 코드가 분기에 푸시될 때 Jenkins 또는 CircleCI에서 CI를 트리거합니다.
- GitHub의 이벤트에 대한 알림을 공동 작업 플랫폼으로 보냅니다. 예를 들어 끌어오기 요청에 대한 검토가 있을 때 Discord 또는 Slack에 알림을 보냅니다.
- Jira와 같은 외부 문제 추적기를 업데이트합니다.
- 프로덕션 서버에 배포합니다.
- 감사 목적으로 GitHub에서 발생하는 이벤트를 로깅합니다.
GitHub
웹후크 정보
웹후크를 만들 때 URL을 지정하고 GitHub에서 발생하는 이벤트를 구독합니다. 웹후크가 구독하는 이벤트가 발생하는 경우 GitHub이(가) 이벤트 관련 데이터가 포함된 HTTP 요청을 지정한 URL로 보냅니다. 서버가 해당 URL에서 웹후크 제공을 수신 대기하도록 설정된 경우 수신 시 작업을 수행할 수 있습니다.
예를 들어 코드가 리포지토리에 푸시되거나, 끌어오기 요청이 열리거나, GitHub Pages 사이트가 빌드되거나, 팀에 새 멤버가 추가될 때 발생하는 이벤트를 웹후크가 구독할 수 있습니다. 서버는 프로덕션에 코드를 배포하거나, CI 파이프라인을 트리거하거나, 알림을 보내거나, 새 팀 구성원에 대한 GitHub 프로젝트를 만들어 응답할 수 있습니다.
특정 리포지토리, 조직, GitHub Enterprise, GitHub Marketplace 계정, GitHub Sponsors 계정 또는 GitHub App 내에서 웹후크를 만들어야 합니다. 웹후크는 웹후크가 설치된 리포지토리, 조직, GitHub Enterprise, GitHub Marketplace 계정, GitHub Sponsors 계정 또는 GitHub App에서 사용 가능한 리소스에만 액세스할 수 있습니다. 자세한 내용은 "웹후크 유형"을(를) 참조하세요.
웹후크 만들기에 대한 자세한 내용은 "웹후크 만들기"을 참조하세요. 구독할 수 있는 이벤트 유형에 대한 자세한 내용은 "웹후크 이벤트 및 페이로드"을 참조하세요. 페이로드 제공에 대한 응답으로 작업을 수행하도록 서버를 구성하는 방법에 대한 자세한 내용은 "웹후크 배달 처리"을 참조하세요.
참고: GitHub 웹후크는 현재 IPv6를 지원하지 않지만 앞으로는 지원할 예정입니다. /meta
REST API 엔드포인트는 해당 전환을 사용하도록 설정하기 위해 IPv6 범위를 반환합니다.
웹후크 또는 REST API 선택하기
웹후크를 사용하면 API 사용과 비교하여 다음과 같은 이점이 있습니다.
- 웹후크는 API 폴링보다 필요한 노력과 리소스가 더 적습니다.
- 웹후크는 API 호출보다 스케일링이 더 낫습니다. 많은 리소스를 모니터링해야 하는 경우 각 리소스에 대해 API를 호출하면 API 속도 제한 할당량에 빠르게 도달할 수 있습니다. 대신 여러 웹후크 이벤트를 구독하고 이벤트가 발생할 때만 정보를 받을 수 있습니다.
- 웹후크는 이벤트가 발생할 때 웹후크가 트리거되므로 거의 실시간 업데이트가 가능합니다.
한 번만 또는 간헐적으로 정보가 필요하거나 스케일 업 계획이 없는 작은 리소스 집합에서만 정보를 얻으려면 관련 정보가 필요할 때 API를 호출할 수 있습니다.
웹후크를 사용할 때 따라야 할 모범 사례에 대한 자세한 내용은 "웹후크 사용에 대한 모범 사례"을 참조하세요.
참고: GitHub Services(서비스 후크라고도 함)는 웹후크와 통합하기 위한 사용 중지됨입니다. GitHub Services 사용에서 웹후크 사용으로 통합을 마이그레이션하는 방법에 대한 자세한 내용은 블로그 게시물을 참조하세요.
추가 참고 자료
- "웹후크 유형"