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

  1. Administrator otwiera „Integracje” i podaje adres instancji GitLab.
  2. Wkleja token grupy albo projektu (rola Maintainer, zakres api).
  3. assign2me sprawdza token i pokazuje grupy i projekty, do których daje dostęp.
  4. Administrator wybiera projekty, a właściciel projektu w assign2me przypina je do swojego projektu.

Numer zadania

Gałąź, merge request, commit

Gałąź

git checkout -b a2m-142-limit-zapytan

„Kopiuj nazwę gałęzi” w zadaniu daje gotową nazwę i polecenie git checkout.

Merge request

A2M-142 Limit zapytań

Link zamykający: po scaleniu zadanie może się zamknąć, jeśli projekt ma włączoną tę automatyzację.

Tylko informacja

refs A2M-142

„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.

Zobacz cennikZałóż konto zespołu