Najpierw obejrzyj
Co będzie potrzebne
- Azure DevOps Services: adres w rodzaju
dev.azure.com/yourcompany. (Azure DevOps Server na własnych serwerach nie jest obsługiwany.) - Konto z uprawnieniem do tworzenia elementów pracy w projekcie, do którego mają trafiać błędy.
- Uprawnienia administratora w przestrzeni roboczej UAT Studio.
Połączenie z projektem Azure DevOps
Organizacja, projekt i proces
Otworzyć projekt w Azure DevOps i spojrzeć na pasek adresu: dev.azure.com/acme/Customer Portal. Pierwsza część to organizacja (acme), druga to projekt (Customer Portal), dokładnie tak, jak tam zapisano, łącznie ze spacjami.
Następnie sprawdzić proces projektu: Project settings › Overview › Process.
| Proces | Typ elementu pracy |
|---|---|
| Agile, Scrum lub CMMI | Bug: z Repro Steps, Severity, Priority i tagami. |
| Basic | Issue: Basic nie ma typu Bug. Element pracy otrzymuje tytuł i opis; Basic nie ma pól wagi i priorytetu. |
Utworzenie osobistego tokenu dostępu
- W Azure DevOps kliknąć ikonę User settings w prawym górnym rogu (postać z kołem zębatym obok inicjałów) i wybrać Personal access tokens.
- Kliknąć + New Token.
- Name: UAT Studio. Organization: Państwa organizacja. Expiration: wybrać Custom defined, maksymalnie rok.
- Scopes: wybrać Custom defined i zaznaczyć Work Items › Read & write. Aby odczytywać także przypadki testowe z Test Plans, zaznaczyć również Test Management › Read.
- Kliknąć Create i skopiować token. Azure DevOps pokazuje go tylko raz: okno należy zostawić otwarte do wklejenia tokenu w kroku 4.
Dodanie Azure DevOps w UAT Studio
Zalogować się na app.uat.studio, otworzyć przestrzeń roboczą i kliknąć Connections. W Add a connection wybrać Azure DevOps i kliknąć Add.

| Pole | Co wpisać |
|---|---|
| Name | Tekst przycisku: Send to Azure DevOps. Warto go zmienić przy łączeniu więcej niż jednego projektu. |
| Organization | Część po dev.azure.com/, np. acme. |
| Project | Nazwa projektu dokładnie taka jak w Azure DevOps, np. Customer Portal. |
| Work item type | Bug lub Issue w projekcie Basic (zob. krok 1). |
| Area path | Opcjonalnie: dokąd trafiają elementy pracy, np. Customer Portal\UAT. Puste: domyślny obszar projektu. |
Kliknąć Save settings.

Zapisanie tokenu
Wkleić token z kroku 2 w pole Personal access token i kliknąć Store token. Pole pokazuje potem tylko 4 ostatnie znaki.

Test połączenia
Kliknąć Test connection. UAT Studio sprawdza token, projekt i istnienie typu elementu pracy. Jeśli wszystko jest w porządku, pojawi się Connected to project … in …; work items of type Bug can be created, a obok ostatniego testu OK. Jeśli typ nie istnieje, komunikat wymienia typy dostępne w projekcie.

Wysyłanie zgłoszeń do Azure DevOps
Jedno zgłoszenie
Otworzyć zgłoszenie. W Ticket in the development team's system kliknąć Send to Azure DevOps.

W zgłoszeniu pojawia się numer elementu pracy i link, a jego historia pokazuje, kiedy i przez kogo zostało wysłane. Zgłoszenia, które jest już powiązane, nie da się przypadkiem wysłać dwa razy.

Wszystkie zgłoszenia po spotkaniu triażowym
W Issues › Triage należy podjąć decyzję dla każdego nowego zgłoszenia. Na koniec kliknięcie Send 3 to Azure DevOps (lub odpowiedniej liczby) tworzy wszystkie elementy pracy naraz.
Co zawiera element pracy
- Tytuł: numer i tytuł zgłoszenia, np. ISS-012: Quote PDF shows the wrong VAT rate.
- Repro Steps i Description: to, co napisał tester, przypadek testowy z nieudanym krokiem i oczekiwanym wynikiem oraz osoba, która znalazła błąd, z linkiem zwrotnym do UAT Studio.
- Severity, Priority oraz tagi
UATi numer zgłoszenia (nie w projekcie Basic). - Attachments: zrzuty ekranu i pliki zgłoszenia, do 10 plików, każdy maksymalnie 10 MB.
Scalanie duplikatów
Po scaleniu dwóch zgłoszeń, które mają elementy pracy, element pracy duplikatu otrzymuje komentarz, link Duplicate Of do drugiego elementu i zostaje zamknięty (Closed, Done lub Resolved, zależnie od tego, na co pozwala proces). Jeśli element pracy miał tylko duplikat, przejmuje go pozostające zgłoszenie.
Gdy poprawka w Azure DevOps jest gotowa
Gdy programista ustawi element pracy na Resolved, Done lub Closed, zgłoszenie w UAT Studio otrzymuje status Ready for retest, a tester dostaje e-mail. Active, Committed lub Doing ustawiają zgłoszenie na In progress. Stan w Azure DevOps jest widoczny obok linku.
Nieudany ponowny test nigdy nie jest cofany: jeśli tester ponownie otworzy zgłoszenie, gdy element pracy jest nadal Resolved, UAT Studio zostawia je otwarte. Zamknięte zgłoszenie pozostaje zamknięte.
Samoczynnie lub od razu
Bez żadnych działań UAT Studio sprawdza stan za każdym razem, gdy administrator otwiera zgłoszenia, oraz po kliknięciu przycisku Update ticket status.
Od razu: Azure DevOps informuje UAT Studio o każdej zmianie elementu pracy za pomocą service hooka. Wymaga to roli administratora projektu w Azure DevOps.
- W UAT Studio, w Connections, w połączeniu Azure DevOps kliknąć Create webhook address i skopiować adres. Jest pokazywany tylko raz.

- W Azure DevOps otworzyć projekt i przejść do Project settings › Service hooks. Kliknąć Create subscription.
- Przewinąć listę usług w dół, wybrać Web Hooks i kliknąć Next.

- Trigger on this type of event: Work item updated. W Filters ustawić Field na State, aby wysyłane były tylko zmiany stanu. Area path i Work item type mogą pozostać [Any] lub można je zawęzić do obszaru i typu projektu. Kliknąć Next.

- URL: wkleić adres z kroku 1. Pozostałe pola (nazwa użytkownika, hasło, nagłówki) zostawić puste. Kliknąć Test, aby sprawdzić, a potem Finish.

Kto może co robić
Gdy coś pójdzie nie tak
| Komunikat | Co zrobić |
|---|---|
| The token is not accepted, or has no access to this organization | Należy sprawdzić nazwę organizacji (część po dev.azure.com/), to, czy token został utworzony dla tej organizacji, i czy ma zakres Work Items (Read & write). Można też utworzyć nowy token i zapisać go ponownie. |
| The project has no work item type "Bug" | Projekt prawdopodobnie używa procesu Basic: należy wpisać Issue w Work item type. Komunikat wymienia dostępne typy. |
| Not found (404) | Należy sprawdzić nazwę projektu: dokładnie taka jak w pasku adresu, łącznie ze spacjami. |
| Wcześniej działało, teraz nie | Token prawdopodobnie wygasł lub został unieważniony. Należy utworzyć nowy i go zapisać; reszta pozostaje bez zmian. |
| Status nie wraca | Należy otworzyć zgłoszenia jako administrator lub kliknąć Update ticket status. Przy service hooku: w Azure DevOps Project settings › Service hooks pokazuje, czy się uruchomił i co zwrócił; w Connections w UAT Studio widać, kiedy przyszła ostatnia wiadomość. |
| Brak przycisku Send to Azure DevOps | Widzą go tylko administratorzy i tylko wtedy, gdy połączenie jest On i ma zapisany token. |
| Connections are not part of your plan | Połączenia są dostępne w planach Team, Business, Partner i Enterprise, a dla Project jako dodatek. Administrator może zmienić plan w Plan & billing. |
Nadal nie działa? Prosimy napisać na [email protected] i podać widoczny komunikat. Prosimy nigdy nie wysyłać nam samego tokenu.
Korzystają Państwo z Jira? Zobacz Połączenie UAT Studio z Jira. Wszystkie instrukcje: Pomoc UAT Studio.
Jak postępujemy z Państwa tokenem
- Token trafia z przeglądarki na nasz serwer jeden raz, szyfrowanym połączeniem.
- Jest przechowywany w postaci zaszyfrowanej (AES-256). Klucz do odszyfrowania jest przechowywany oddzielnie od bazy danych, więc sama kopia bazy jest bezużyteczna.
- Nikt nie może odczytać tokenu: ani w aplikacji, ani przez wsparcie.
- UAT Studio używa tokenu wyłącznie do testu połączenia, tworzenia wysyłanych elementów pracy (wraz z plikami), odczytu stanu tych elementów i zamykania duplikatu po scaleniu. Potrzebuje tylko zakresu Work Items.
- Po usunięciu połączenia lub unieważnieniu tokenu w Azure DevOps dostęp natychmiast się kończy.
