Skip to main content

웹후크 정보

웹후크는 특정 이벤트가 발생할 GitHub때마다 외부 웹 서버로 알림을 배달하는 방법을 제공합니다.

웹후크 정보

웹후크를 사용하면 소프트웨어 시스템에서 발생하는 이벤트를 구독하고 해당 이벤트가 발생할 때마다 자동으로 데이터를 서버로 받을 수 있습니다.

웹후크는 데이터를 자동으로 수신할 수 있도록 사용되며, 이벤트가 발생할 때마다 즉시 데이터를 받습니다. 이는 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 EnterpriseGitHub Marketplace계정GitHub Sponsors 또는 GitHub App 설치된 위치에서 사용할 수 있는 리소스에만 액세스할 수 있습니다. 자세한 내용은 웹후크 유형을(를) 참조하세요.

웹후크 만들기에 대한 자세한 내용은 웹후크 만들기을(를) 참조하세요. 구독할 수 있는 이벤트 유형에 대한 자세한 내용은 웹후크 이벤트 및 페이로드을(를) 참조하세요. 페이로드 제공에 대한 응답으로 작업을 수행하도록 서버를 구성하는 방법에 대한 자세한 내용은 웹후크 배달 처리을(를) 참조하세요.

참고

GitHub 웹후크는 현재 IPv6를 지원하지 않지만, 앞으로는 지원할 예정입니다. /meta REST API 엔드포인트는 해당 전환을 사용하도록 설정하기 위해 IPv6 범위를 반환합니다.

웹후크 또는 REST API 선택하기

웹후크를 사용하면 API 사용과 비교하여 다음과 같은 이점이 있습니다.

  • 웹후크는 API 폴링보다 필요한 노력과 리소스가 더 적습니다.
  • 웹후크는 API 호출보다 스케일링이 더 낫습니다. 많은 리소스를 모니터링해야 하는 경우 각 리소스에 대해 API를 호출하면 API 속도 제한 할당량에 빠르게 도달할 수 있습니다. 대신 여러 웹후크 이벤트를 구독하고 이벤트가 발생할 때만 정보를 받을 수 있습니다.
  • 웹후크는 이벤트가 발생할 때 웹후크가 트리거되므로 거의 실시간 업데이트가 가능합니다.

한 번만 또는 간헐적으로 정보가 필요하거나 스케일 업 계획이 없는 작은 리소스 집합에서만 정보를 얻으려면 관련 정보가 필요할 때 API를 호출할 수 있습니다.

웹후크를 사용할 때 따라야 할 모범 사례에 대한 자세한 내용은 웹후크 사용에 대한 모범 사례을(를) 참조하세요.

참고

GitHub Services(서비스 후크라고도 함)는 은퇴웹후크와 통합하는 데 찬성합니다. 통합을 GitHub 서비스 사용에서 웹후크 사용으로 마이그레이션하는 방법에 대한 자세한 내용은 blog 게시물 참조하세요.

추가 참고 자료