Zdarzenia - Powiadomienie o nowych zdarzeniach krytycznych

Wstęp

Niniejszy dokument przedstawia procedurę konfiguracji systemu AMAGE Web w celu automatycznego wysyłania powiadomień e-mail do wyznaczonych odbiorców przy tworzeniu nowych zdarzeń serwisowych określonego typu. W szczególności omówiona zostanie konfiguracja powiadomień dla zdarzeń typu "Awaria krytyczna".

Automatyzacja procesu powiadamiania pozwala na znaczące skrócenie czasu reakcji na incydenty krytyczne oraz zapewnia odpowiedni poziom komunikacji z zespołami technicznymi i zarządzającymi.

Procedura konfiguracji

Konfiguracja systemu powiadamiania obejmuje następujące etapy:

Krok 1: Weryfikacja istniejących zdarzeń serwisowych

Pierwszym etapem jest weryfikacja aktualnego stanu zdarzeń serwisowych w systemie. Należy przejść do listy zgłoszeń serwisowych i potwierdzić obecność zdarzeń typu "Awaria krytyczna", które będą podstawą do konfiguracji reguł powiadamiania.

image 2025 06 24 14 30 23 810
Figure 1. Lista zgłoszeń - chcemy powiadamiać o awarii krytycznej

Krok 2: Dostęp do konfiguracji systemu

Kolejnym krokiem jest uzyskanie dostępu do modułu konfiguracji systemu. Można to wykonać na dwa sposoby: - poprzez bezpośrednie przejście do sekcji konfiguracji systemu z menu głównego - alternatywnie, z poziomu widoku zgłoszeń serwisowych, wykorzystując ikonę błyskawicy dla szybkiego dostępu

image 2025 06 24 14 30 49 178
Figure 2. Przechodzimy do konfiguracji systemu

Krok 3: Analiza historii zdarzeń systemowych

W ramach tego etapu należy przeanalizować historię zdarzeń w systemie w celu identyfikacji struktury danych obiektu zdarzenia serwisowego. Proces obejmuje:

  1. Przejście do listy zdarzeń systemowych, która zawiera kompletny rejestr wszystkich aktywności w systemie

  2. Zastosowanie filtru czasowego dla okresu, w którym zostało utworzone ostatnie zgłoszenie serwisowe

  3. Lokalizację zdarzenia typu "Utworzenie" odpowiadającego nowemu zgłoszeniu serwisowemu

image 2025 06 24 14 31 30 645
Figure 3. Przeglądamy historię zdarzeń w poszukiwaniu zdarzenia utworzenia zgłoszenia serwisowego

Krok 4: Analiza struktury danych zdarzenia

Po zlokalizowaniu odpowiedniego zdarzenia należy przeprowadzić analizę jego struktury danych. Szczegółowy podgląd zdarzenia ujawnia:

  • Kompletną strukturę JSON obiektu zdarzenia serwisowego

  • Dane w zakładkach "nowy obiekt" i "stary obiekt", które umożliwiają porównanie stanów przed i po modyfikacji

  • Identyfikację klucza type.name z wartością "Awaria krytyczna", który będzie wykorzystany jako warunek filtrowania w regule powiadamiania

Ta analiza jest kluczowa dla prawidłowego skonfigurowania warunków logicznych w dalszych etapach procesu.

image 2025 06 24 14 31 45 694
Figure 4. Przeglądamy szczegóły zdarzenia - struktura JSON obiektu

Krok 5: Tworzenie nowej reguły zdarzenia

Następnym etapem jest przejście do sekcji reguł zdarzeń i utworzenie nowej reguły powiadamiania.

image 2025 06 24 14 31 58 327
Figure 5. Dodajemy nową regułę zdarzenia

Krok 6: Konfiguracja parametrów reguły

Konfiguracja reguły obejmuje określenie następujących parametrów:

Typ obiektu: mod.AssetApi.model.service.ServiceEvent (obiekt "Zdarzenie Serwisowe")

Typ zdarzenia: Utwórz

Temat wiadomości: Nowe zdarzenie serwisowe o typie "Awaria Krytyczna" numer: #{{obj.eventNumber}} dotyczy {{obj.product.name}}

Treść wiadomości:

Utworzono nowe zdarzenie serwisowe o typie "Awaria Krytyczna" o numerze #{{obj.eventNumber}},
które dotyczy urządzenia {{obj.product.name}}.
Przejdź do systemu desktop, na urządzeniu mobilnym lub aplikacji Web aby przeglądać szczegóły

Lista odbiorców: W tym polu należy wpisać adresy e-mail osób, które mają otrzymywać powiadomienia.

System umożliwia wykorzystanie dowolnych danych ze struktury obiektu zdarzenia (analizowanej w kroku 4) do personalizacji treści wiadomości, w tym nazwy zasobu, numeru seryjnego, przypisanej osoby czy adresu e-mail.

Krok 7: Konfiguracja skryptu przygotowującego

W tej sekcji można określić skrypt przygotowujący dane przed wysyłką powiadomienia. Skrypt ten służy do przygotowania danych do wysyłki i może być wykorzystany do dynamicznego modyfikowania listy odbiorców (np. dodawania adresów e-mail osób przypisanych do zdarzenia) lub innych operacji przygotowawczych. W przypadku standardowej konfiguracji skrypt może pozostać pusty.

image 2025 06 24 14 52 54 325
Figure 6. Tworzymy skrypt przygotowujący
<pusty>

Krok 8: Implementacja skryptu sprawdzającego

Ostatnim elementem konfiguracji jest implementacja skryptu sprawdzającego warunki aktywacji reguły. Bez tego skryptu reguła zostałaby uruchomiona przy każdym utworzeniu zdarzenia serwisowego, niezależnie od jego typu.

Skrypt sprawdzający określa precyzyjne warunki, które muszą być spełnione dla aktywacji reguły powiadamiania. W przypadku konfiguracji powiadomień dla zdarzeń typu "Awaria krytyczna" implementuje się następujące warunki:

  1. Weryfikację istnienia typu zdarzenia (zabezpieczenie przed potencjalnymi błędami w przypadku braku definicji typu)

  2. Sprawdzenie zgodności wartości type.name z oczekiwaną wartością "Awaria krytyczna"

Jeśli oba warunki zostaną spełnione (funkcja zwraca wartość true), system kontynuuje realizację reguły i wysyła powiadomienie e-mail.

image 2025 06 24 14 53 03 684
Figure 7. Tworzymy skrypt sprawdzający
(function(){
var typeName=_.get(ctx,"obj.type.name");
return (typeName != null) && (typeName === "Awaria krytyczna");
})();

Uwaga techniczna: W przypadku modyfikacji nazwy typu zdarzenia w systemie konieczne będzie zaktualizowanie wartości porównania w skrypcie. Alternatywnym i bardziej stabilnym rozwiązaniem jest wykorzystanie unikalnego identyfikatora UUID zamiast nazwy typu, co eliminuje zależność od zmian nazewnictwa. Identyfikator UUID można znaleźć w strukturze danych zdarzenia pod kluczem type.uuid.

Howto powstało na bazie wersji systemu 2.0.0.0 (10.2025) oraz przedstawia funkcje, które mogą nie być dostępne w Twoim systemie. Zapytaj AMAGE o udostępnienie tej funkcjonalności.
Ze względu na ciągły rozwój systemu niektóre ekrany lub pliki konfiguracji mogą wyglądać nieznacznie inaczej, ale zachowają nadal pełną funkcjonalność tutaj opisaną. Nie wpływa to na zasadnicze funkcje opisywane w tym dokumencie.