웹훅 문제 해결
이벤트 전송에 사용되는 사용자 정의 HTTP 콜백.
GitLab 웹훅의 일반적인 문제를 해결하고 수정합니다. 웹훅 디버그 # 다음 방법을 사용하여 GitLab 웹훅을 디버그하고 페이로드를 캡처합니다: 공개 웹훅 검사 도구 웹훅 요청 및 응답 세부 정보 GitLab Development Kit(GDK) 비공개 웹훅 수신기 웹훅 이벤트 및 JSON 페이로드에 대한 정보는 웹훅 이벤트 를 참조하세요. 공개 웹훅 검사 도구 사용 # 공개 도구를 사용하여 웹훅 페이로드를 검사하고 테스트합니다. 이 도구들은 HTTP 요청에 대한 catch-all 엔드포인트를 제공하고 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 이 수신기를 추가하려면 로컬 네트워크에 대한 요청을 허용 해야 할
