coderabbit-webhooks-events
Waliduj sygnatury webhook CodeRabbit i obsługuj zdarzenia recenzji kodu bezpiecznie
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do integracji webhook CodeRabbit z Twoimi systemami. Obsługuje walidację podpisów, przetwarzanie zdarzeń recenzji kodu z GitHub i GitLab, oraz bezpieczne odbieranie powiadomień o analizie AI. Wspiera zdarzenia pull request, komentarze recenzji, wyniki check run i etykiety. Idealny dla deweloperów wdrażających automatyczne recenzje kodu w pipeline'ach CI/CD.
Jak używać
Upewnij się, że CodeRabbit jest zainstalowany w Twoim repozytorium GitHub lub GitLab oraz że webhook GitHub jest skonfigurowany do wysyłania zdarzeń pull request. Przygotuj token dostępu (GitHub App lub personal access token) i plik
.coderabbit.yamlw katalogu głównym repozytorium.Skonfiguruj endpoint webhook na swoim serwerze, który będzie odbierać żądania POST od GitHub. Endpoint powinien być dostępny publicznie i obsługiwać nagłówek
x-hub-signature-256zawierający podpis HMAC-SHA256.Zaimplementuj walidację sygnatury webhook, porównując wartość z nagłówka
x-hub-signature-256z oczekiwaną sygnaturą obliczoną za pomocą tajnego klucza webhook (GITHUB_WEBHOOK_SECRET). Użyj algorytmu SHA256 do weryfikacji autentyczności żądania.Przetwarzaj zdarzenia CodeRabbit na podstawie ich typu:
pull_request_review(recenzje zatwierdzone lub z żądaniem zmian),pull_request_review_comment(komentarze liniowe),check_run.completed(wyniki analizy),issue_comment.created(podsumowania) ipull_request.labeled(etykiety dodane przez CodeRabbit).Wyodrębnij dane z payload'u webhook (treść recenzji, stan, ścieżkę pliku, pozycję w diff) i zintegruj je z Twoim systemem — na przykład zapisz wyniki w bazie danych, wyślij powiadomienia lub zaktualizuj status pull request'a.
Przetestuj endpoint, wysyłając przykładowe żądania webhook z GitHub lub używając narzędzia takie jak curl z prawidłowym nagłówkiem sygnatury, aby upewnić się, że walidacja i przetwarzanie działają poprawnie.