Integracja · W cenie
Integracja GitLab: merge requesty przy zadaniach (także self-managed)
Numer zadania w nazwie gałęzi albo w tytule merge requesta łączy kod z zadaniem. Zadanie pokazuje stan przeglądu i wynik pipeline'u, a po scaleniu może zamknąć się samo.
Działa z GitLab.com i z własnym serwerem GitLab — także takim, do którego nie da się dostać z internetu.
Dwa sposoby połączenia
GitLab.com albo własny serwer
Pełny tryb
GitLab.com i serwery osiągalne z internetu
- Adres instancji — domyślnie https://gitlab.com.
- Token dostępu grupy lub projektu z rolą co najmniej Maintainer i zakresem api.
- assign2me sam zakłada webhooki z sekretem w wybranych projektach.
- Co 6 godzin odświeża stan otwartych merge requestów, żeby wyłapać zgubione zdarzenia.
Tylko webhooki
Serwer w sieci firmowej, niedostępny z zewnątrz
- assign2me pokazuje adres webhooka i sekret; webhook dodajesz w GitLabie sam.
- Zaznaczasz zdarzenia push, merge request i pipeline.
- Powiązania i stany działają ze zdarzeń wysyłanych przez GitLab.
- Zgubione zdarzenie poprawia dopiero kolejne zdarzenie tego samego merge requesta — ekran integracji mówi o tym wprost.
Konfiguracja krok po kroku
Połączenie w czterech krokach
- Administrator otwiera „Integracje” i podaje adres instancji GitLab.
- Wkleja token grupy albo projektu (rola Maintainer, zakres api).
- assign2me sprawdza token i pokazuje grupy i projekty, do których daje dostęp.
- Administrator wybiera projekty, a właściciel projektu w assign2me przypina je do swojego projektu.
Numer zadania
Gałąź, merge request, commit
Gałąź
„Kopiuj nazwę gałęzi” w zadaniu daje gotową nazwę i polecenie git checkout.
Merge request
Link zamykający: po scaleniu zadanie może się zamknąć, jeśli projekt ma włączoną tę automatyzację.
Tylko informacja
„ref”, „refs” i „related to” tworzą link informacyjny — scalenie nie zamknie zadania.
Stan kodu w zadaniu
Merge request i pipeline bez otwierania GitLaba
- Sekcja „Kod” w zadaniu: gałęzie i merge requesty — numer, tytuł, autor, stan, recenzenci.
- Stany: szkic, otwarty, czeka na przegląd, zatwierdzony, wymagane zmiany, scalony, zamknięty bez scalenia.
- Wynik pipeline'u: w toku, zaliczony, nieudany.
- Automatyzacje — domyślnie wyłączone: przy otwarciu MR przenieś zadanie do sekcji; po scaleniu ukończ je albo przenieś.
Tokeny
Token zaszyfrowany, z przypomnieniem przed wygaśnięciem
- Token przechowujemy zaszyfrowany.
- 14 dni przed wygaśnięciem osoba, która połączyła GitLaba, dostaje ostrzeżenie w aplikacji i mailem.
- Po wygaśnięciu połączenie pokazuje „Wymaga ponownego połączenia”, dopóki nie wkleisz nowego tokena.
- Po odłączeniu assign2me usuwa założone przez siebie webhooki (jeśli serwer jest osiągalny) i kasuje token.
Praca z klientem
Klient widzi zadanie, nie repozytorium.
Gość nie widzi sekcji „Kod”, a stan kodu nigdy nie trafia na kanał Slacka. Informacje z GitLaba widzi tylko zespół z dostępem do zadania.
Pytania o integrację z GitLabem
Pełna instrukcja w dokumentacji →Nasz GitLab stoi w sieci firmowej, za VPN.
Wybierz tryb „tylko webhooki”. GitLab wysyła zdarzenia do assign2me, a assign2me nie musi łączyć się z waszym serwerem.
Jaki token jest potrzebny?
Token dostępu grupy albo projektu z rolą co najmniej Maintainer i zakresem api.
Czy assign2me kopiuje nasz kod?
Nie. Zapisujemy tylko metadane: nazwy gałęzi, numery, tytuły i stany merge requestów oraz wyniki pipeline'ów.
Czy jedno połączenie obsłuży kilka organizacji w assign2me?
Nie. Połączenie z GitLabem należy do dokładnie jednej organizacji assign2me.
Korzystamy i z GitHuba, i z GitLaba.
Możesz połączyć oba. Zadanie pokaże gałęzie i pull requesty z GitHuba obok merge requestów z GitLaba.
Wszystko w jednej cenie
30 dni za darmo. Potem 79 zł netto miesięcznie za zespół do 5 osób, każda kolejna osoba +15 zł. Goście-klienci bez limitu i bez opłat.