Skip to main content

웹후크 테스트

웹후크 배달을 처리하는 웹후크 및 코드를 테스트하는 방법을 알아봅니다.

웹후크 테스트 정보

웹후크 배달을 테스트할 수 있습니다. 이렇게 하면 웹후크 배달을 트리거할 것으로 예상되는 이벤트에 대한 응답으로 GitHub이(가) 웹후크 배달을 보내는지 확인할 수 있습니다.

컴퓨터 또는 Codespace를 로컬 서버로 사용하고 웹후크 배달을 로컬 서버로 전달하여 웹후크 배달을 처리하는 코드를 테스트할 수도 있습니다. 이렇게 하면 프로덕션 서버에 코드를 배포하지 않고도 코드를 개발하고 디버그할 수 있습니다.

웹후크 배달 테스트

웹후크 이벤트를 트리거하고 GitHub이(가) 웹후크 배달을 전송했는지 확인할 수 있습니다.

  1. 웹후크를 트리거합니다. 예를 들어 issues 이벤트에 가입된 리포지토리 웹후크를 테스트하는 경우 웹후크가 구성된 리포지토리에서 이슈를 엽니다.

    이전 웹후크 배달을 다시 배달할 수도 있습니다. 자세한 내용은 "웹후크 다시 제공"을(를) 참조하세요.

    조직 또는 리포지토리 웹후크를 사용하는 경우 REST API를 사용하여 웹후크에 대한 ping 이벤트를 트리거할 수도 있습니다. 리포지토리 웹후크를 사용하고 웹후크가 push 이벤트를 구독하는 경우 REST API를 사용하여 웹후크에 대한 테스트 push 이벤트를 트리거할 수 있습니다. 자세한 내용은 "리포지토리 웹후크에 대한 REST API 엔드포인트" 및 "조직 웹후크에 대한 REST API 엔드포인트"을(를) 참조하세요.

  2. 웹후크 배달이 전송되었는지 GitHub에 확인합니다. 각 웹후크 유형에 대해 이 작업을 수행하는 방법에 대한 자세한 내용은 "웹후크 제공 보기"을(를) 참조하세요.

웹후크 배달이 전송되지 않았거나 웹후크 배달이 전송되었지만 GitHub에서 배달에 실패했다고 알리는 경우 문제 해결 가이드를 참조하여 문제를 진단하는 데 도움을 받으세요. 자세한 내용은 "웹후크 문제 해결"을(를) 참조하세요.

로컬에서 웹후크 코드 테스트

컴퓨터 또는 codespace에서 로컬로 웹후크 코드를 테스트하려면 웹후크 프록시 URL을 사용하여 GitHub에서 컴퓨터 또는 Codespace로 웹후크를 전달할 수 있습니다. 컴퓨터 또는 codespace를 로컬 서버로 사용하여 이러한 전달된 웹후크를 받을 수 있습니다.

다음 섹션에서는 smee.io를 사용하여 웹후크 프록시 URL을 제공하고 웹후크를 전달하는 방법을 보여 줍니다.

코드 및 테스트 단계의 특정 예제는 "웹후크 배달 처리"을(를) 참조하세요.

웹후크 프록시 URL 가져오기

  1. 브라우저에서 https://smee.io/로 이동합니다.
  2. 새 채널 시작을 클릭합니다.
  3. "웹후크 프록시 URL" 아래에 전체 URL을 복사합니다. 다음 설정 단계에서 이 URL을 사용합니다.

웹후크 프록시 URL을 사용하도록 웹후크 구성

웹후크 프록시 URL을 사용하도록 웹후크 구성 자세한 내용은 "웹후크 만들기" 및 "웹후크 편집하기"을(를) 참조하세요.

이제 GitHub가 웹후크 배달을 해당 URL로 보냅니다.

로컬 서버 시작

컴퓨터 또는 codespace에서 로컬 서버를 시작합니다. 이 방법은 웹후크를 수신하는 코드가 작성된 방식에 따라 달라집니다. 예제는 "웹후크 배달 처리"을(를) 참조하세요.

코드를 로컬에서 실행할 수 있는지 확인해야 합니다. 예를 들어 코드가 프로덕션에서 서버의 환경 변수를 사용하는 경우 로컬 서버에서도 환경 변수를 사용할 수 있는지 확인해야 합니다.

코드의 단계가 예상대로 실행되었는지 확인할 수 있도록 로그 문을 추가하는 것도 유용할 수 있습니다.

웹후크를 테스트하는 동안 로컬 서버를 계속 실행해 둡니다.

웹후크 전달

  1. smee-client가 아직 설치되어 있지 않은 경우 터미널에서 다음 명령을 실행합니다.

    Shell
    npm install --global smee-client
    
  2. smee.io에서 전달한 웹후크를 수신하려면 터미널에서 다음 명령을 실행합니다. WEBHOOK_PROXY_URL을 앞서 복사한 웹후크 프록시 URL로 바꿉니다. PATH를 서버에서 처리할 경로로 바꿉니다. PORT를 로컬 서버가 수신 대기 중인 포트로 바꿉니다.

    Shell
    smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
    

    다음과 같은 출력이 표시되고 WEBHOOK_PROXY_URL, PORT, PATH 자리 표시자가 지정한 값으로 대체됩니다.

    Shell
    Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH
    Connected WEBHOOK_PROXY_URL
    

    이제 웹후크 프록시 URL(smee.io URL)이 GitHub에서 웹후크 배달을 받으면 smee가 웹후크 배달을 로컬 서버로 전달합니다.

  3. 웹후크를 테스트하는 동안 계속 실행해 둡니다. 웹후크 전달을 중지하려면 Ctrl+C를 누릅니다.

이 시점에서 로컬 서버와 smee 전달이 모두 실행 중이어야 합니다.

웹후크 배달 트리거

웹후크를 트리거합니다. 예를 들어 issues 이벤트에 가입된 리포지토리 웹후크를 테스트하는 경우 웹후크가 구성된 리포지토리에서 이슈를 엽니다.

이전 웹후크 배달을 다시 배달할 수도 있습니다. 자세한 내용은 "웹후크 다시 제공"을(를) 참조하세요.

배달 확인

GitHub에서 웹후크 배달을 보내고, smee가 배달을 받고 전달했으며, 로컬 서버가 웹후크 배달을 처리했는지 확인할 수 있습니다.

GitHub에서 배달을 전송했는지 확인

웹후크 배달이 전송되었는지 GitHub에 확인합니다. 자세한 내용은 "웹후크 제공 보기"을(를) 참조하세요.

웹후크 배달이 전송되지 않았거나 웹후크 배달이 전송되었지만 GitHub에서 배달에 실패했다고 알리는 경우 문제 해결 가이드를 참조하여 문제를 진단하는 데 도움을 받으세요. 자세한 내용은 "웹후크 문제 해결"을(를) 참조하세요.

smee가 웹후크 배달을 받았는지 확인

smee.io에서 웹후크 프록시 URL로 이동합니다. 트리거하거나 다시 배달한 이벤트에 해당하는 이벤트가 표시되어야 합니다. 이는 GitHub에서 지정한 페이로드 URL로 웹후크 배달을 성공적으로 보냈음을 나타냅니다.

smee.io에 웹후크 배달이 표시되지 않으면 웹후크가 웹후크 프록시 URL(smee.io URL)을 사용하고 있는지 확인합니다.

smee가 웹후크 배달을 전달했는지 확인

smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT를 실행한 터미널 창에 POST http://127.0.0.1:3000/webhook - 202와 같은 내용이 표시되어야 합니다. 이는 smee가 웹후크를 로컬 서버로 성공적으로 전달했음을 나타냅니다.

이 내용이 표시되지 않으면 smee 클라이언트 및 로컬 서버가 모두 실행 중인지 확인합니다. 두 개의 별도 터미널 창에서 이러한 프로세스가 실행 중이어야 합니다.

또한 smee 클라이언트 및 로컬 서버를 실행 중인 터미널 창에서 오류가 있는지 확인해야 합니다. 특정 오류는 웹후크를 수신하는 코드가 작성된 방식에 따라 달라집니다. 예제는 "웹후크 배달 처리"을(를) 참조하세요.

로컬 서버가 웹후크 배달을 처리했는지 확인

이 시점에서 GitHub에서 웹후크 배달을 보냈고 해당 smee가 로컬 서버로 배달을 전달했음을 확인했습니다. 이제 코드가 예상대로 웹후크 배달을 처리했는지 확인해야 합니다. 이 방법은 웹후크를 수신하는 코드가 작성된 방식에 따라 달라집니다. 예제는 "웹후크 배달 처리"을(를) 참조하세요.