Przejdź do głównej zawartości

Zgłaszanie błędów serwera (Email & Jira)

Automatyczne i ręczne zgłaszanie krytycznych błędów aplikacji (błędów 500) do zespołu technicznego za pomocą wiadomości e-mail oraz integracji z Jira.

👤 Instrukcja dla pracownika (Użytkownika panelu)

Gdy w aplikacji wystąpi nieoczekiwany błąd serwera (błąd 500), zobaczysz ekran informacyjny informujący, że coś poszło nie tak.

Jak zgłosić błąd?

  1. Na ekranie błędu 500 wyświetlony zostanie identyfikator błędu (np. digest: 123456789).
  2. Kliknij przycisk "Zgłoś błąd" (lub "Report Error").
  3. Po kliknięciu system automatycznie:
    • Wyśle powiadomienie e-mail do działu IT na adres [email protected].
    • Utworzy automatyczne zgłoszenie (ticket) w Jira w projekcie technicznym, oznaczając je czerwoną etykietą server-error.
  4. Po pomyślnym zgłoszeniu, etykieta przycisku zmieni się na "Zgłoszenie wysłane".

🛠️ Dokumentacja techniczna (dla programistów)

Architektura raportowania

Gdy w komponencie React App Routera wystąpi nieobsłużony błąd, Next.js renderuje komponent app/error.tsx. Klient może wywołać akcję serwerową reportServerError z poziomu tego komponentu.

Flow raportowania błędu wygląda następująco:

Pliki i komponenty

  • Komponent UI: error.tsx – Obsługuje wyświetlanie strony błędu, rejestruje zdarzenie w konsoli oraz udostępnia przycisk wyzwalający akcję raportowania.
  • Akcja serwerowa: report-server-error.ts – Odczytuje metadane sesji użytkownika, jego rolę, parametry przeglądarki, IP i wysyła e-mail z załącznikiem JSON oraz wywołuje klienta Jira.
  • Moduł Jira: jira.ts – Klient komunikujący się z Jira Cloud API v2.

Konfiguracja zmiennych środowiskowych

Aby integracja z Jira działała poprawnie, należy skonfigurować następujące zmienne środowiskowe:

ZmiennaTypOpisPrzykład
JIRA_HOSTWymaganaAdres URL instancji Jira Cloudhttps://company.atlassian.net
JIRA_EMAILWymaganaAdres e-mail konta integracyjnego[email protected]
JIRA_API_TOKENWymaganaToken API wygenerowany w profilu AtlassianATATT3xFfGF0...
JIRA_PROJECT_KEYOpcjonalnaKlucz projektu Jira (domyślnie AP)AP
JIRA_ISSUE_TYPEOpcjonalnaTyp tworzonego zgłoszenia (domyślnie Bug)Bug

Szczegóły zgłoszenia w Jira

Zgłoszenia Jira są tworzone z następującymi polami:

  • Project: Klucz zdefiniowany w JIRA_PROJECT_KEY.
  • Issue Type: Typ zdefiniowany w JIRA_ISSUE_TYPE.
  • Summary: [SERVER ERROR] [errorDigest] /ścieżka-url
  • Description: Zawiera pełen raport tekstowy błędu (w tym stack trace, zalogowanego użytkownika, dane przeglądarki itp.).
  • Labels: ['server-error']