UAT Studioby Salvion
Pomoc · Połączenia

Połączenie z webhookiem

Zgłoszenia jako JSON trafiają do Power Automate, Zapier, Make, n8n lub własnej usługi, a stamtąd wszędzie tam, gdzie pracuje zespół: do Slacka, ServiceNow, arkusza kalkulacyjnego lub systemu ticketowego, z którym jeszcze nie mamy połączenia.

Czas około 10 minutKto administrator przestrzeni roboczej oraz osoba, która buduje przepływPlany Team, Business, Partner i Enterprise
W jedną minutę

Najpierw obejrzyj

Konfiguracja webhooka dla Power Automate, Zapier lub Make: adres, wysyłanie automatyczne, sekret, test i wysyłana wiadomość (51 sekund, napisy w obrazie).
Zanim Państwo zaczną

Co będzie potrzebne

  • Adres przyjmujący POST z JSON, zaczynający się od https://. Większość narzędzi do automatyzacji go udostępnia (zob. Przykłady).
  • Uprawnienia administratora w przestrzeni roboczej UAT Studio.
Korzystają Państwo z Jira, Azure DevOps lub Teams?Lepiej użyć tych połączeń: tworzą prawdziwe tickety z plikami, przekazują status z powrotem i scalają duplikaty. Zobacz przegląd wszystkich instrukcji. Webhook tylko wysyła; nie otrzymuje odpowiedzi.
Konfiguracja · raz na adres

Połączenie z webhookiem

1

Uzyskanie adresu przepływu

Najpierw utworzyć stronę odbierającą w używanym narzędziu i skopiować jej adres. Chcą Państwo zobaczyć wiadomości, zanim cokolwiek zbudują? Wystarczy otworzyć webhook.site: daje tymczasowy adres i pokazuje wszystko, co na niego wysłano. Należy używać go wyłącznie z danymi testowymi.

2

Dodanie webhooka w UAT Studio

Otworzyć przestrzeń roboczą, kliknąć Connections, wybrać Webhook w Add a connection i kliknąć Add. Następnie uzupełnić:

  • Webhook address: adres z kroku 1.
  • Send automatically:
    • Only when I click Send on an issue (domyślnie): administrator decyduje, które zgłoszenia są wysyłane.
    • Every new issue and every status change, by itself: wszystko jest wysyłane od razu.

Kliknąć Save settings. Wybór w Send automatically zapisuje się od razu po zmianie.

Połączenie Webhook: uzupełniony adres, Send automatically ustawione na każde nowe zgłoszenie i każdą zmianę statusu
3

Dodanie sekretu (opcjonalnie, zalecane)

Aby przepływ wiedział, że wiadomość naprawdę pochodzi z UAT Studio, należy wymyślić długi losowy sekret (co najmniej 8 znaków, najlepiej 32 lub więcej), wkleić go w Secret (optional) i kliknąć Store token. Każda wiadomość zawiera wtedy nagłówek:

Authorization: Bearer <your secret>

Przepływ powinien odrzucać wiadomości bez właściwego nagłówka. Sekret jest przechowywany w postaci zaszyfrowanej i nie można go odczytać; aby go zastąpić, wystarczy wkleić nowy.

4

Test połączenia

Kliknąć Test connection. UAT Studio wysyła:

{ "event": "test", "message": "Test message from UAT Studio" }

Każda odpowiedź od 200 do 299 oznacza sukces; pojawi się The webhook answered 200. Należy upewnić się, że przepływ przyjmuje zdarzenie testowe lub je pomija, bez błędu.

Korzystanie

Kiedy wysyła

ZdarzenieKiedy
issue.sentAdministrator klika Send to Webhook w zgłoszeniu. Zawsze dostępne, gdy połączenie jest On.
issue.createdTester zgłasza nowe zgłoszenie. Tylko gdy Send automatically jest ustawione na każde nowe zgłoszenie.
issue.status_changedZmienia się status zgłoszenia, np. na Ready for retest lub Closed. Tylko z Send automatically. Zawiera from i to.
testKliknięcie Test connection.

Zgłoszenie scalone z innym jako duplikat nie wysyła nowego issue.created.

Dokumentacja

Co wysyła

POST z Content-Type: application/json. Wszystkie zdarzenia zgłoszeń mają tę samą postać:

{
  "event": "issue.status_changed",
  "project": { "id": "6b1f…", "name": "CRM UAT" },
  "issue": {
    "id": "a41c…",
    "key": "ISS-012",
    "title": "Save button greyed out",
    "description": "After changing the phone number, Save stays grey.",
    "severity": "High",
    "priority": "High",
    "status": "Ready for retest",
    "assignee": "Dev team",
    "ticket": "PORTAL-41",
    "ticket_url": "https://acme.atlassian.net/browse/PORTAL-41"
  },
  "test_case": { "num": 4, "title": "Edit a contact", "step": 3 },
  "reported_by": "Tess Tester",
  "from": "In progress",
  "to": "Ready for retest",
  "url": "https://app.uat.studio/p/6b1f…/issues"
}
PoleZnaczenie
eventissue.sent, issue.created, issue.status_changed lub test.
projectProjekt UAT: id i nazwa.
issue.keyNumer w UAT Studio, np. ISS-012. issue.id pozwala rozpoznać to samo zgłoszenie w późniejszych wiadomościach.
issue.severityCritical, High, Medium lub Low. issue.priority: High, Medium lub Low.
issue.statusStatus w UAT Studio: New, In progress, Ready for retest, Closed lub Rejected.
issue.ticketPowiązany ticket Jira lub Azure DevOps, jeśli istnieje; w przeciwnym razie null.
test_caseTest i numer kroku, w którym znaleziono zgłoszenie; null dla zgłoszenia spoza testu. Przy issue.sent także action i expected (oczekiwany wynik) kroku.
reported_byNazwisko testera, który je znalazł.
from, toTylko przy issue.status_changed: stary i nowy status.
urlZgłoszenia projektu w UAT Studio. Otwarcie wymaga zalogowania.

Pola mogą mieć wartość null, a w przyszłości możemy dodać nowe pola, dlatego przepływ powinien ignorować to, czego nie zna. Zrzuty ekranu i pliki nigdy nie są wysyłane; pozostają w UAT Studio.

Przykłady

Budowa strony odbierającej

Power Automate

  1. Utworzyć Instant cloud flow z wyzwalaczem When an HTTP request is received dla Anyone.
  2. W Request Body JSON Schema kliknąć Use sample payload to generate schema i wkleić powyższy przykład.
  3. Dodać Condition dla event (np. is not equal to test), a potem wybrane akcje: zadanie w Planner, wiersz w Excelu, e-mail, element w SharePoint.
  4. Zapisać przepływ. Wyzwalacz pokazuje teraz HTTP URL: to jest adres webhooka.

Uwaga: wyzwalacz HTTP jest w Power Automate łącznikiem premium. Do publikowania na kanale Teams nie jest potrzebny: wystarczy połączenie z Microsoft Teams.

Zapier

Utworzyć Zap z wyzwalaczem Webhooks by Zapier › Catch Hook, skopiować adres, kliknąć Test connection w UAT Studio, a potem wysłać jedno zgłoszenie, aby Zapier poznał pola. Następnie dodać wybraną akcję, np. wiadomość w Slacku.

Make

Rozpocząć scenariusz od Webhooks › Custom webhook, skopiować adres i kliknąć Redetermine data structure przed wysłaniem zgłoszenia z UAT Studio.

Własna usługa

Usługa powinna przyjmować POST z JSON, sprawdzać nagłówek Authorization z sekretem, szybko odpowiadać 200 i dopiero potem wykonywać czasochłonne operacje. Po błędzie wiadomości nie są wysyłane ponownie, dlatego warto rejestrować to, co przychodzi.

Pomoc

Gdy coś pójdzie nie tak

KomunikatCo zrobić
The webhook answered 401 or 403Przepływ odrzuca wiadomość: należy sprawdzić sekret po obu stronach lub to, czy przepływ może wywołać każdy.
The webhook answered 404Adres jest błędny albo przepływ został usunięty lub wyłączony. Należy skopiować adres ponownie.
The webhook answered 400 or 500Przepływ nie przyjmuje wiadomości. Często nie obsługuje zdarzenia test lub pola o wartości null. Należy przejrzeć historię uruchomień przepływu.
Nic nie przychodzi dla nowych zgłoszeńNależy sprawdzić, czy Send automatically jest ustawione na każde nowe zgłoszenie i czy połączenie jest On. Następnie wysłać jedno zgłoszenie ręcznie, aby zobaczyć odpowiedź przepływu.
Brak przycisku Send to WebhookWidzą go tylko administratorzy i tylko wtedy, gdy połączenie jest On.
Connections are not part of your planPołą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 sekretu.

Bezpieczeństwo

Co opuszcza UAT Studio

  • Wiadomości są wysyłane wyłącznie przez HTTPS.
  • Zawierają treść zgłoszenia, test i nazwisko testera, nigdy pliki ani zrzuty ekranu. Należy wysyłać je tylko do usługi, której organizacja powierza takie informacje.
  • Sekret jest przechowywany w postaci zaszyfrowanej (AES-256), a klucz oddzielnie od bazy danych. Nikt nie może go odczytać.
  • Po przełączeniu połączenia na Off lub jego usunięciu nic nie jest już wysyłane.