Integracja z Linear
Przesyłaj zweryfikowane zgłoszenia podatności do Linear jako tickety i odczytuj status naprawy, domyślnie bez opisu podatności i kroków jej odtworzenia.
Dlaczego to ważne
Zgłoszenie podatności może oceniać inna osoba niż ta, która przygotuje poprawkę. Triaż odbywa się w Kit, a pracę nad poprawką zespół śledzi na swojej tablicy. Bez powiązania między nimi ktoś ręcznie przekleja zgłoszenie do Linear i od tego momentu oba systemy się rozjeżdżają. Ticket pokazuje „In Review”, zgłoszenie „Validated”, nikt nie umie odpowiedzieć, czy podatność faktycznie jest naprawiona, a badacz czeka.
Połączenie z Linear pozwala śledzić pracę w obu systemach. Z poziomu zgłoszenia utworzysz ticket, a Kit zapisuje i utrzymuje powiązanie między nimi.
Rozwiązuje też mniej oczywisty problem. Ręczne przeklejanie zwykle przenosi wszystko, łącznie z krokami reprodukcji i adresem e-mail badacza, do przestrzeni roboczej, której faktycznego kręgu odbiorców nikt nie sprawdził. Integracja w Kit wysyła zamiast tego ticket z ograniczonym zestawem danych.
Note
Kit łączy się z jednym trackerem na program. Linear i Jira nie działają równolegle. Jeśli istnieje już połączenie z Jira, rozłącz je przed połączeniem z Linear.
Czego potrzebujesz
- Aktywna subskrypcja Kit
- Przestrzeń robocza Linear
- Administrator przestrzeni roboczej Linear, który wykona krok łączenia. Szczegóły poniżej
- Uprawnienia administratora modułu w Kit. Podłączenie trackera to decyzja na poziomie całej organizacji
Warning
Kit instaluje się w Linear jako użytkownik aplikacji. Taką instalację może zatwierdzić wyłącznie administrator przestrzeni roboczej. Zwykły członek dostanie odmowę. Tickety i komentarze Kit publikuje więc w imieniu aplikacji Kit, a nie osoby, która wykonała połączenie. Takie działania są przypisane aplikacji również w dzienniku audytu.
Konfiguracja
1. Połącz swoją przestrzeń roboczą Linear
- Wejdź na VDP > Ustawienia > Tracker ticketów
- Wybierz Linear na ekranie wyboru trackera
- Kliknij Połącz z Linear
- Zaloguj się do Linear i zatwierdź żądany dostęp
Kit prosi o dostęp do odczytu oraz o prawo tworzenia ticketów i komentarzy. Token Linear obejmuje jedną przestrzeń roboczą, więc jedno połączenie oznacza jedną przestrzeń.
Zgoda należy do osoby, która jej udzieliła. Kit zapisuje, kto to był, bo kiedy ta osoba odejdzie z organizacji, połączenie przestanie działać i trzeba wiedzieć, czyj dostęp odnowić.
2. Wybierz zespół
- Na stronie ustawień kliknij Wybierz zespół
- Wskaż zespół, do którego ma trafiać praca nad podatnościami
W Linear tickety powstają w ramach zespołu, a nie projektu. Projekty w Linear rozciągają się na wiele zespołów i są opcjonalnym grupowaniem, więc nie ma tam czego wybierać. Nie ma też kroku z typem ticketu: w Linear typy ticketów nie istnieją.
Kit mapuje poziomy ważności zgłoszeń na cztery priorytety w Linear:
| Poziom ważności w Kit | Priorytet w Linear |
|---|---|
| Superkrytyczny | Urgent |
| Krytyczny | Urgent |
| Wysoki | High |
| Średni | Medium |
| Niski | Low |
| Informacyjny | Low |
Inaczej niż w Jira, nazwy priorytetów są tu takie same w całej przestrzeni roboczej, więc nie trzeba sprawdzać mapowania osobno dla każdego zespołu. Jeśli poziom ważności nie ma mapowania, Kit nie wysyła żadnego priorytetu i obowiązuje domyślny priorytet zespołu. Kit nigdy nie wysyła wartości „No priority”, która nadpisałaby ten domyślny priorytet, zamiast mu ustąpić. Poziom ważności i tak zawsze trafia do opisu ticketu.
Żeby samodzielnie zarządzać mapowaniem, skontaktuj się z pomocą techniczną. Na twoim połączeniu można skonfigurować własne mapowanie ważności na priorytet.
3. Potwierdź, że działa
Kliknij Przetestuj połączenie. Kit wykonuje uwierzytelnione zapytanie do Linear i pokazuje wynik.
Przesyłanie zgłoszenia
Otwórz dowolne zgłoszenie. W prawej kolumnie znajdziesz kartę Tracker ticketów.
- Kliknij Utwórz ticket
- Przeczytaj panel z informacją, co zostanie wysłane, a co zostaje w Kit
- Kliknij Utwórz ticket
Na czas tworzenia ticketu karta pokazuje wskaźnik postępu, a potem identyfikator ticketu, jego status i link otwierający Linear w nowej karcie.
Może to zrobić każdy członek zespołu, który ma wgląd w zgłoszenie. To zwykła czynność triażowa, na tym samym poziomie uprawnień co dodanie linku. Tylko konfiguracja połączenia jest zarezerwowana dla administratora.
Note
Po przeniesieniu ticketu do innego zespołu Linear nadaje mu nowy identyfikator (ENG-123). Jako powiązanie Kit zapisuje stały wewnętrzny identyfikator z Linear, a ten widoczny odświeża przy każdej synchronizacji, więc przenoszenie ticketów między zespołami niczego nie psuje.
Co opuszcza Kit
Domyślnie ticket zawiera ograniczony zestaw danych potrzebnych do zaplanowania pracy:
| Trafia do Linear | Zostaje w Kit |
|---|---|
| Tytuł zgłoszenia i jego identyfikator w Kit | Opis podatności |
| Poziom ważności i wynik CVSS | Kroki reprodukcji |
| Typ podatności | Endpoint, którego dotyczy |
| Obszar produktu | Pliki proof of concept i zrzuty ekranu |
| Termin naprawy | Imię i nazwisko, adres e-mail oraz dane do wypłaty badacza |
| Link zwrotny do zgłoszenia w Kit | Notatki wewnętrzne i wątek rozmowy |
Kit nie sprawdza wszystkich odbiorców danych w Linear. Dostęp mogą mieć osoby z uprawnieniami do projektu, inne integracje oraz odbiorcy eksportów i kopii zapasowych. Dlatego domyślnie szczegółowy opis i kroki odtworzenia pozostają w Kit.
Kit nie wysyła osobnych pól z tożsamością badacza ani kwotami nagród. Sprawdź jednak treść tytułu, a przy udostępnianiu pełnych szczegółów także opisu i kroków odtworzenia: mogą zawierać takie dane wpisane w tekst.
Udostępnianie pełnych szczegółów
Niektóre zespoły jednak chcą mieć opis w tickecie. Wymaga to przejścia dwóch niezależnych zabezpieczeń:
- Administrator włącza Zezwól na pełne szczegóły podatności w VDP > Ustawienia > Tracker ticketów
- Osoba przesyłająca zgłoszenie zaznacza pole wyboru przy tym konkretnym tickecie
Oba są domyślnie wyłączone. Przy wyłączonym ustawieniu na poziomie programu pola wyboru w ogóle się nie pokazują, a ręcznie spreparowane zapytanie ich nie obejdzie: Kit sprawdza ustawienie programu ponownie w momencie budowania danych do wysyłki.
Opisy ticketów w Linear to Markdown. Dołączony tekst zgłoszenia trafia do bloku kodu, więc Linear wyświetla go dokładnie tak, jak napisał go badacz, zamiast interpretować jako znaczniki.
Tip
Zostaw wyłączone. Ticket prowadzi z powrotem do Kit, a inżynier, który potrzebuje kroków reprodukcji, może otworzyć zgłoszenie zgodnie z uprawnieniami nadanymi w Kit. Wizyta zostanie zapisana, jeśli śledzenie wyświetleń jest włączone.
Komentarze o zmianach statusu
Przy włączonym ustawieniu Komentuj zmiany statusu Kit dodaje krótki komentarz w Linear, gdy zgłoszenie zostanie zweryfikowane, rozwiązane, sprawdzone lub odrzucone albo zmieni się jego poziom ważności. Komentarz to jedno zdanie plus link zwrotny do Kit.
Te komentarze powstają automatycznie z ustalonego szablonu. Nie zawierają opisu, kroków odtworzenia, tożsamości badacza ani kwot nagród; nie ma opcji dołączenia tych pól.
Kit prosi też Linear, żeby nie subskrybować aplikacji do komentowanych ticketów, dzięki czemu komentowanie nie wciąga Kit w ruch powiadomień w twojej przestrzeni roboczej.
Status naprawy
Karta pokazuje własną etykietę statusu ticketu, w brzmieniu z twojej przestrzeni roboczej („In Review”, „Ready for QA”), bo dokładnie to widzi inżynier. Wewnętrznie Kit mapuje ją na jeden z pięciu stanów. Opiera się przy tym na stałych typach stanów workflow w Linear, a nie na ich nazwach. Nazwy to dowolny tekst, inny w każdym zespole, a typy się nie zmieniają:
| Typ stanu w Linear | Status naprawy w Kit |
|---|---|
| Triage, Backlog, Unstarted | Nierozpoczęte |
| Started | W toku |
| Completed | Naprawione |
| Canceled, Duplicate | Nie zostanie naprawione |
Duplikat liczy się jako Nie zostanie naprawione, a nie Naprawione. Taki ticket zamknięto bez żadnej naprawy, więc liczenie go jako ukończonego zawyżałoby wskaźnik napraw.
Status jest odczytywany na żądanie, kiedy ktoś otwiera zgłoszenie, i krótko buforowany, żeby wyświetlenie zgłoszenia nie generowało lawiny zapytań do API. Webhooków na razie nie ma: Kit odpytuje, Linear niczego nie wypycha.
Kit nigdy nie rozwiązuje zgłoszenia tylko dlatego, że w Linear pojawiło się „Done”. Na tablicy inżynierskiej „Done” regularnie znaczy „scalone, ale nie wdrożone”, a rozwiązanie zgłoszenia pociąga za sobą skutki, których osoba przeciągająca kartę wcale nie musi mieć na myśli: badacz dostaje powiadomienie, otwiera się proces wypłaty nagrody, ruszają liczniki ujawnienia. Kit pokazuje ukończony ticket. Status zgłoszenia trzeba zmienić osobno w Kit.
Odpinanie i ponowne próby
- Odepnij usuwa powiązanie wyłącznie po stronie Kit. Ticket zostaje w Linear, gdzie może już mieć komentarze inżynierów i gałąź z poprawką. Tam Kit nie jest systemem źródłowym.
- Spróbuj ponownie powtarza nieudane wysłanie. Można nacisnąć dwa razy bez obaw: Kit sam generuje identyfikator ticketu i wysyła ten sam przy każdej próbie. Jeśli zapytanie przekroczyło limit czasu już po tym, jak ticket powstał w Linear, kolejna próba podłączy istniejący zamiast tworzyć drugi.
- Rozłączenie integracji usuwa przechowywaną w Kit zgodę i powiązane z nią wpisy. Wszystkie utworzone wcześniej tickety zostają w Linear.
Rozwiązywanie problemów
| Objaw | Przyczyna | Rozwiązanie |
|---|---|---|
| „Połączyć Kit może tylko administrator przestrzeni roboczej w Linear” | Krok łączenia wykonał zwykły członek | Poproś o ten krok administratora przestrzeni roboczej |
| „Dostęp do Linear został cofnięty” | Zgoda została cofnięta w Linear albo autoryzujący użytkownik został dezaktywowany | Połącz ponownie na stronie ustawień; autoryzacji może udzielić inny administrator |
| „W odpowiedzi z Linear zabrakło przestrzeni roboczej” | Autoryzacja zakończyła się bez przyznania dostępu do przestrzeni roboczej | Połącz ponownie po zalogowaniu do właściwej przestrzeni roboczej |
| „Nie znaleziono zespołów w tej przestrzeni roboczej Linear” | Połączone konto nie należy do żadnego widocznego zespołu | Sprawdź przynależność tego konta do zespołów i spróbuj ponownie |
| Nie widać przycisku Utwórz ticket | Żaden tracker nie jest połączony albo subskrypcja Kit jest nieaktywna | Połącz tracker w VDP > Ustawienia > Tracker ticketów |
W skrócie
- Subskrypcja Kit aktywna
- Ewentualne wcześniejsze połączenie z Jira rozłączone. Program obsługuje jeden tracker
- Administrator przestrzeni roboczej Linear dostępny, żeby wykonać krok łączenia
- Przestrzeń robocza połączona i wiadomo, kto udzielił autoryzacji
- Wybrany docelowy zespół
- Test połączenia kończy się powodzeniem
- Świadoma decyzja, czy pełne szczegóły podatności mogą być udostępniane