InfoGrab DocsInfoGrab Docs

웹훅 문제 해결

이벤트 전송에 사용되는 사용자 정의 HTTP 콜백.

GitLab 웹훅에서 자주 발생하는 문제를 진단하고 해결합니다. 웹훅 디버그 # 다음 방법으로 GitLab 웹훅을 디버그하고 페이로드를 확인합니다. 공개 웹훅 검사 도구 웹훅 요청 및 응답 세부 정보 GitLab Development Kit(GDK) 비공개 웹훅 수신기 웹훅 이벤트와 JSON 페이로드에 대한 정보는 웹훅 이벤트 를 참고합니다. 공개 웹훅 검사 도구 사용 # 공개 도구를 사용하여 웹훅 페이로드를 검사하고 테스트합니다. 이 도구들은 HTTP 요청을 모두 받는 엔드포인트를 제공하고 200 OK 상태 코드로 응답합니다. Warning 공개 도구를 사용할 때는 민감한 데이터가 외부 서비스로 전송될 수 있으므로 주의합니다. 테스트 토큰을 사용하고, 제3자에게 잘못 전송된 시크릿은 교체합니다. 개인 정보 보호를 강화하려면 비공개 웹훅 수신기를 만듭니다 . 공개 웹훅 검사 도구에는 다음이 있습니다. Beeceptor : 임시 HTTPS 엔드포인트를 만들고 수신 페이로드를 검사합니다. Webhook.site : 수신 페이로드를 검토합니다. Webhook Tester : 수신 페이로드를 검사하고 디버그합니다. GitLab Development Kit(GDK) 사용 # 더 안전한 개발 환경이 필요하다면 GitLab Development Kit(GDK) 로 GitLab 웹훅을 로컬에서 다룹니다. GDK를 사용하면 로컬 GitLab 인스턴스에서 자신의 머신에 있는 웹훅 수신기로 웹훅을 보낼 수 있습니다. 이 방법을 사용하려면 GDK를 설치하고 구성합니다. 비공개 웹훅 수신기 만들기 # 웹훅 페이로드를 공개 수신기 로 보낼 수 없다면 자체 비공개 웹훅 수신기를 만듭니다. 사전 요구 사항: 시스템에 Ruby가 설치되어 있어야 합니다. 비공개 웹훅 수신기를 만들려면 다음과 같이 진행합니다. 다음 스크립트를 print_http_body.rb 로 저장합니다. require 'webrick' server = WEBrick::HTTPServer .new( :Port => ARGV .first) server.mount_proc '/' do | req, res | puts req.body end trap 'INT' do server.shutdown end server.start 사용하지 않는 포트(예: 8000 )를 선택하고 스크립트를 시작합니다. ruby print_http_body.rb 8000 GitLab에서 수신기의 URL(예: http://receiver.example.com:8000/ )로 웹훅을 구성합니다 . Test 를 선택합니다. 다음과 비슷한 출력이 표시됩니다. {"before":"077a85dd266e6f3573ef7e9ef8ce3343ad659c4e","after":"95cd4a99e93bc4bbabacfa2cd10e6725b1403c60",} example.com - - [14/May/2014:07:45:26 EDT] "POST / HTTP/1.1" 200 0 - -> / Note 이 수신기를 추가하려면 로컬 네트워크에 대한 요청을 허용