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?
- Na ekranie błędu 500 wyświetlony zostanie identyfikator błędu (np.
digest: 123456789). - Kliknij przycisk "Zgłoś błąd" (lub "Report Error").
- 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.
- Wyśle powiadomienie e-mail do działu IT na adres
- 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:
| Zmienna | Typ | Opis | Przykład |
|---|---|---|---|
JIRA_HOST | Wymagana | Adres URL instancji Jira Cloud | https://company.atlassian.net |
JIRA_EMAIL | Wymagana | Adres e-mail konta integracyjnego | [email protected] |
JIRA_API_TOKEN | Wymagana | Token API wygenerowany w profilu Atlassian | ATATT3xFfGF0... |
JIRA_PROJECT_KEY | Opcjonalna | Klucz projektu Jira (domyślnie AP) | AP |
JIRA_ISSUE_TYPE | Opcjonalna | Typ 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']