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.
- 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.
- Otwórz aplikację. Sama wygeneruje losowy sekret i pokaże gotowy adres webhooka, który trzeba wkleić do GitHuba.
- 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”.
- Zapisz webhook w GitHubie przyciskiem Add webhook.
- 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).