Dokumentacja

Integracja z GitHubem

Połącz GitHuba, a gałęzie i pull requesty powiążą się z zadaniami po kluczu, zadanie pokaże stan przeglądu i testów, a scalenie może je ukończyć.

Po połączeniu z GitHubem programiści nie muszą niczego klikać w assign2me. Wystarczy klucz zadania w nazwie gałęzi albo w tytule pull requesta: zadanie pokazuje stan kodu, a po scaleniu może się samo ukończyć. Kod zostaje na GitHubie. assign2me zapisuje tylko metadane, takie jak nazwy gałęzi, numery, tytuły i stany pull requestów, nigdy kodu, diffów ani komentarzy z przeglądu.

Klucze zadań

Każde zadanie ma krótki klucz z prefiksu projektu i numeru, np. A2M-142. Prefiks ustala Właściciel projektu przy jego tworzeniu: od 2 do 6 wielkich liter i cyfr, zaczyna się literą, unikalny w organizacji. Domyślnie powstaje z nazwy projektu. Gdy prefiks się zmieni albo zadanie przejdzie do innego projektu, stary klucz nadal prowadzi do tego samego zadania.

1. Połącz GitHuba (Administrator)

Administrator otwiera Integracje i łączy GitHuba. Instaluje to aplikację GitHub assign2me w wybranym koncie albo organizacji GitHub. Na GitHubie wybierasz wszystkie repozytoria albo tylko wskazane.

  • Aplikacja prosi o dostęp tylko do odczytu do metadanych, zawartości, pull requestów, testów (checks) i statusów commitów.
  • Ekran Integracje pokazuje konto GitHub, dostępne repozytoria, osobę, która połączyła, i przycisk Zarządzaj w GitHubie. Zmiana listy repozytoriów na GitHubie jest widoczna w assign2me w ciągu minuty.
  • Organizacja może mieć kilka instalacji, np. dla kilku organizacji GitHub. Jedna instalacja należy do dokładnie jednej organizacji assign2me.

2. Przypnij repozytoria do projektu

Właściciel projektu wybiera repozytoria spośród połączonych w organizacji. Jedno repozytorium można przypiąć do kilku projektów. Powiązania zadań z kodem działają we wszystkich połączonych repozytoriach. Przypięcie ma znaczenie dla automatyzacji.

3. Używaj klucza zadania

assign2me wiąże zadanie, gdy jego klucz, bez względu na wielkość liter, pojawi się w:

  • nazwie gałęzi, np. a2m-142-limit-zapytan,
  • tytule albo opisie pull requesta, np. A2M-142 Limit zapytań dla klientów,
  • wiadomości commita wypchniętego do repozytorium.

Nowa gałąź z kluczem oznacza zadanie jako „w toku: gałąź a2m-142-limit-zapytan” i dodaje wpis do historii. Nie zmienia sekcji ani osoby przypisanej. Jeden pull request może wskazywać kilka zadań, a jedno zadanie może mieć kilka gałęzi i pull requestów.

Klucz poprzedzony słowem ref, refs albo related to (np. refs A2M-142) tworzy powiązanie tylko informacyjne: scalenie nie ukończy zadania.

Powiązanie pojawia się w zadaniu w ciągu 60 sekund od zdarzenia.

Kopiuj nazwę gałęzi

W zadaniu przycisk Kopiuj nazwę gałęzi daje gotową nazwę z kluczem i skrótem tytułu, np. a2m-142-limit-zapytan-dla-klientow. Drugi przycisk kopiuje całe polecenie git checkout -b. Przyciski są widoczne tylko w organizacjach połączonych z GitHubem albo GitLabem.

Automatyzacje

W ustawieniach przypiętego repozytorium Właściciel projektu może włączyć, każdą osobno:

  • po otwarciu pull requesta przenieś zadanie do wybranej sekcji (np. „W przeglądzie”),
  • po scaleniu ukończ zadanie albo przenieś je do wybranej sekcji.

Wszystkie automatyzacje są domyślnie wyłączone. Scalenie to połączenie z gałęzią domyślną repozytorium. Właściciel może dodać inne gałęzie docelowe, np. release/*.

Automatyzacja zmienia zadanie tylko wtedy, gdy zadanie należy do tego projektu, a zdarzenie pochodzi z repozytorium przypiętego do tego projektu. Zadanie jest ukończone dopiero po scaleniu ostatniego otwartego pull requesta powiązanego z nim odwołaniem zamykającym. Powiązanie refs nigdy nie zamyka zadania. Zadanie już ukończone się nie zmienia. Jeśli ktoś przywróci zadanie ukończone automatycznie, to samo scalenie nie ukończy go ponownie. Zadania prywatne nie podlegają automatyzacjom.

Każda zmiana wykonana przez automatyzację trafia do historii zadania ze źródłem „GitHub”, repozytorium i numerem pull requesta, i wysyła te same powiadomienia co zmiana ręczna.

Stan kodu w zadaniu

Panel zadania ma sekcję Kod. Dla każdej gałęzi widzisz nazwę i repozytorium. Dla każdego pull requesta widzisz numer, tytuł, autora, stan (szkic, otwarty, czeka na przegląd, zatwierdzony, zmiany wymagane, scalony, zamknięty bez scalenia), recenzentów i wynik testów (w toku, zaliczone, niezaliczone). Każdy element jest linkiem do GitHuba.

Wiersz zadania na liście, tablicy i w Moich zadaniach ma ikonę stanu najważniejszego pull requesta.

Filtr „Czeka na przegląd”

Lista i tablica projektu mają filtr Kod: czeka na przegląd, zmiany wymagane, niezaliczone testy oraz scalony, ale zadanie nieukończone. Podsumowanie projektu ma kartę Czeka na przegląd z liczbą zadań i czasem oczekiwania najstarszego pull requesta. Kliknięcie otwiera przefiltrowaną listę.

Czego nie widzi gość

Informacje o kodzie widzą tylko osoby z dostępem do zadania. Goście nie widzą sekcji Kod, a stan kodu nigdy nie trafia na kanał Slack. Klient widzi zadanie, a nie wasze repozytorium.

Odłączenie

Gdy odłączysz GitHuba w assign2me, odinstalujesz aplikację na GitHubie albo odbierzesz dostęp do repozytorium:

  • dane dostępowe są usuwane, a nowe zdarzenia z tego źródła są odrzucane w ciągu 60 sekund,
  • przypięcia repozytoriów do projektów są usuwane,
  • istniejące powiązania zostają w zadaniach z ostatnim znanym stanem, oznaczone jako nieaktualne. Administrator może je usunąć razem z połączeniem.

Pracujesz w GitLabie? Zobacz Integracja z GitLabem.