Przejdź do treści
Intum

GitHub - automatyczne komentarze pod taskami przy pull requestach

Aktualizacja: 3 min czytania

Co robi ta integracja

Łączy GitHuba z Intum tak, że kiedy ktoś otworzy albo zmerguje pull requesta na GitHubie, pod powiązanym taskiem w Intum automatycznie pojawia się komentarz. Warunek jest jeden: w opisie PR-a musi być link do tego taska.

Autora PR-a (lub osobę, która go zmergowała) staramy się przypisać do właściwego użytkownika Intum po loginie GitHuba zapisanym w profilu - dzięki temu komentarz pojawia się “od tej osoby”, a nie anonimowo.

Jak to skonfigurować

Całą konfigurację zrobisz w jednej aplikacji w Intum, bez ruszania kodu.

  1. W Ustawieniach konta wejdź w Integracje i dodatki i zainstaluj Integracja z GitHub (webhooki PR). Po instalacji aplikacja pojawi się na liście aplikacji konta.
  2. Otwórz aplikację. Sama wygeneruje losowy sekret i pokaże gotowy adres webhooka, który trzeba wkleić do GitHuba.
  3. W repozytorium na GitHubie wejdź w Settings → Webhooks → Add webhook i uzupełnij:
    • Payload URL - skopiuj z aplikacji w Intum.
    • Content type - wybierz application/json.
    • Secret - wklej sekret wygenerowany przez Intum (zostanie zapisany po obu stronach i służy do weryfikacji każdego przychodzącego zdarzenia).
    • Which events would you like to trigger this webhook? - wybierz opcję “Let me select individual events.” i zaznacz tylko jeden checkbox: Pull requests. Wszystkie pozostałe checkboxy odznacz, włącznie z domyślnie zaznaczonym “Pushes”.
  4. Zapisz webhook w GitHubie przyciskiem Add webhook.
  5. Wróć do aplikacji w Intum i kliknij Utwórz konektor. Od tego momentu integracja jest aktywna.

Możesz podłączyć kilka repozytoriów - w każdym z nich konfigurujesz osobny webhook, ale wszystkie wskazują na ten sam adres w Intum i używają tego samego sekretu.

Jak z tego korzystać

W opisie pull requesta wklej pełny link do taska w Intum, np.:

https://twoja-firma.intum.com/organize/tasks/123

Możesz wkleić go w dowolnym miejscu opisu, razem z innym tekstem - integracja wyszukuje pierwsze pasujące wystąpienie.

Co się stanie dalej:

  • Po otwarciu PR-a pod taskiem pojawi się komentarz typu “Nowy pull request , stworzony przez: ".
  • Po zmergowaniu PR-a dopisze się drugi komentarz: “Pull request , zmergowany przez: ".
  • Zwykłe zamknięcie PR-a bez merga, push do brancha, review itd. nie tworzą żadnych komentarzy.

Mapowanie autora PR-a na użytkownika Intum

Żeby komentarz został podpisany właściwą osobą, ta osoba musi mieć uzupełniony swój login GitHuba w profilu w Intum (w sekcji identyfikatorów zewnętrznych). Bez tego komentarz pojawi się z domyślnego konta technicznego “GitHub” - sama treść (kto otworzył lub zmergował) będzie poprawna, ale komentarz nie zostanie powiązany z konkretnym kontem Intum.

Bezpieczeństwo

Każde zdarzenie przychodzące z GitHuba weryfikujemy podpisem cyfrowym wyliczonym z sekretu. Jeśli sekret w GitHubie i w Intum się rozjadą (np. ktoś wygeneruje nowy po jednej ze stron), webhooki przestaną być przyjmowane do czasu wyrównania.

W aplikacji w Intum możesz w każdej chwili wygenerować nowy sekret - po jego wygenerowaniu trzeba ten sam sekret wpisać też w ustawieniach webhooka w GitHubie.

Co zrobić, jeśli nie działa

  • Otwieram PR i nic się nie dzieje pod taskiem - upewnij się, że w opisie PR-a jest link do konkretnego taska w formacie https://twoja-firma.intum.com/organize/tasks/<numer>. Bez linku integracja nie wie, do którego taska dopisać komentarz.
  • GitHub pokazuje błąd 401 przy próbie dostarczenia webhooka (zakładka Recent Deliveries w ustawieniach webhooka) - sekret w GitHubie i w Intum nie są identyczne. Wygeneruj nowy w aplikacji Intum i przeklej go do GitHuba.
  • Komentarz pojawia się, ale podpisany “GitHub” zamiast osobą - autor PR-a nie ma wpisanego swojego loginu GitHuba w profilu w Intum.
  • Webhook nie dociera w ogóle - sprawdź w GitHubie zakładkę Recent Deliveries: jest tam pełna historia prób z odpowiedzią serwera. Pomaga to szybko zlokalizować, czy problem jest po stronie GitHuba (np. zła ścieżka), czy Intum (np. nieaktywny konektor).

Czy ten wpis był pomocny?

Udostępnij

Komentarze