GitHub 리포지토리에 대한 웹후크 설정

완료됨

GitHub에서 웹후크는 조직 또는 특정 리포지토리에서 설정할 수 있습니다. 웹후크는 구독된 이벤트가 하나 이상 발생될 때마다 트리거됩니다. 예를 들어 Gollum 이벤트를 사용하면 wiki 업데이트(특히 wiki 페이지에 대한 생성 및 업데이트)를 수신 대기할 수 있습니다.

이 단원에서는 회사의 GitHub wiki에서 변경 이벤트를 수신 대기하는 웹후크를 설정하는 방법을 알아봅니다.

웹후크 설정

웹후크 설정은 2단계 프로세스입니다. 먼저 GitHub에서 웹후크의 동작 방식과 수신 대기할 이벤트를 지정합니다. 둘째, 웹후크에서 수신된 페이로드를 수신하고 관리하도록 Azure Functions에서 함수를 설정합니다. 예제 시나리오에서는 특정 리포지토리에 대한 웹후크를 설정합니다.

웹후크를 설정하려면 GitHub 포털의 위쪽 메뉴 모음에서 설정을 선택합니다. 설정 페이지가 표시되고 리포지토리의 이름이 나타납니다. 왼쪽 메뉴에서 웹후크를 선택한 후 웹후크 추가를 선택합니다. 웹후크 API를 통해 웹후크를 빌드하고 관리할 수도 있습니다. 이 내용은 이 모듈에서 다루지 않습니다.

웹후크를 사용하기 전에 몇 가지 구성 옵션이 필요합니다. 이러한 각 설정은 다음에 살펴봅니다.

페이로드 URL

페이로드 URL은 웹후크 POST 요청을 수신하는 서버의 URL입니다.

각 이벤트 유형에는 특정 페이로드 형식이 있습니다. 해당 페이로드에는 웹후크를 트리거한 이벤트에 대한 정보가 들어 있습니다.

내용 유형

웹후크는 두 개의 서로 다른 콘텐츠 유형을 사용하여 제공될 수 있습니다.

  • application/json 콘텐츠 유형은 POST 요청의 본문으로 직접 JSON 페이로드를 제공합니다.
  • application/x-www-form-urlencoded 콘텐츠 유형은 payload라는 형식 매개 변수로 JSON 페이로드를 전송합니다.

참고 항목

또한 웹후크 추가 페이지에서도 비밀을 사용하여 웹후크에서 전송되는 정보를 보호하는 방법을 지정할 수 있습니다. 이 항목은 이 모듈의 뒷부분에서 다룹니다.

이벤트

이벤트는 웹후크의 중심입니다. 리포지토리에서 작업을 수행할 때마다 이벤트가 발생합니다. 이벤트가 발생하면 웹후크가 시작되어 사용자가 지정하는 URL을 호출하고 페이로드 및 이벤트 정보를 URL에 전송합니다. 예를 들어, 리포지토리에 문제가 발생할 때마다 대응하려면 개별 이벤트를 선택하겠습니다.를 클릭한 다음, 문제 확인란을 선택합니다. 트리거된 웹후크에 대한 문제 이벤트를 수신하도록 활성 확인란이 선택되어 있는지 확인합니다. 그런 다음, 웹후크 추가를 선택하여 트리거를 활성화합니다.

리포지토리에 대한 wiki 업데이트를 수신 대기하려면 Wiki 확인란을 선택합니다. 이 이벤트는 앞에서 언급한 Gollum 이벤트입니다. 웹후크 추가를 선택하여 선택한 모든 개별 이벤트를 저장합니다.

웹후크 이벤트의 전체 목록 및 실행할 수 있는 경우는 GitHub 웹후크 이벤트를 방문하여 확인할 수 있습니다.

다음 연습에서는 GitHub 리포지토리용 웹후크를 설정하는 과정을 살펴봅니다.