Obsługa błędów
Nasz framework udostępnia metody zgłaszania błędów występujących w czasie działania, aby wyświetlać je użytkownikom. Jasne i konkretne komunikaty o błędach ułatwiają Tobie i użytkownikom rozwiązywanie problemów z niedziałającą integracją.
Integracja może zgłaszać błędy monday na dwa sposoby:
- Wysyłając kod poziomu ważności w treści odpowiedzi HTTP
- Zwracając standardowy kod statusu HTTP
Zgłoszone błędy będą widoczne dla użytkowników w Dzienniku aktywności automatyzacji (Automation Activity Log). W zależności od poziomu ważności użytkownicy mogą też otrzymywać powiadomienia lub automatyzacje mogą zostać wyłączone.
Kody poziomu ważności
Kody poziomu ważności pomagają użytkownikom zrozumieć rodzaj błędu i dowiedzieć się, jak go rozwiązać. Obsługujemy dwa poziomy ważności:
- 4000: Średni poziom ważności - automatyzacja tymczasowo nie działa, ale może działać ponownie po rozwiązaniu problemu
- 6000: Wysoki poziom ważności - automatyzacja zostaje wyłączona, ponieważ będzie nadal kończyć się błędem
Aby wywołać działanie kodów poziomu ważności, aplikacja musi zwrócić status HTTP z zakresu 4xx lub 5xx oraz prawidłowo sformatowaną treść JSON.
Kiedy używać kodów poziomu ważności
Używaj poziomów ważności, aby określić, czy automatyzacja może zadziałać w przyszłości.
- Przykład - średni poziom ważności (4000): jeśli automatyzacja wysyła wiadomość e-mail na podstawie wartości kolumny, a ta wartość jest nieprawidłowa (np. adres e-mail ma błędny format), zwróć kod poziomu ważności 4000. Automatyzacja może zadziałać w przyszłości, jeśli użytkownik poprawi tę wartość.
- Przykład - wysoki poziom ważności (6000): jeśli automatyzacja próbuje przenieść element do grupy, która już nie istnieje, zwróć kod poziomu ważności 6000. Ponieważ grupa została trwale usunięta, automatyzacja zawsze będzie kończyć się błędem i powinna zostać wyłączona.
Format odpowiedzi
// Medium severity 4000
{
"severityCode" : 4000,
"notificationErrorTitle" : "This is the notification title of of 4000",
"notificationErrorDescription" : "This is the notification description of 4000",
"runtimeErrorDescription" : "This is the activity log description of 4000"
}
// High severity 6000
{
"severityCode" : 6000,
"notificationErrorTitle" : "This is the notification title of 6000",
"notificationErrorDescription" : "This is the notification description of 6000",
"runtimeErrorDescription" : "This is the activity log description of 6000",
"disableErrorDescription" : "This is the disable message of 6000"
}
Kody statusu HTTP
Jeśli wolisz zgłaszać błędy bez kodów poziomu ważności, możesz zwrócić jeden z poniższych kodów statusu. Wyświetlimy wtedy odpowiedni komunikat w Dzienniku aktywności (Activity Log).
🚧
Tylko kody poziomu ważności powodują wyłączenie automatyzacji lub wysłanie powiadomienia do użytkownika.
Obsługiwane kody:
-
401 - UNAUTHORIZED
-
402 - PAYMENT_REQUIRED
-
403 - FORBIDDEN
-
404 - NOT_FOUND
-
410 - GONE
-
422 - UNPROCESSABLE_ENTITY
Co zobaczy użytkownik?
W zależności od wybranej metody zgłaszania błędów użytkownicy mogą zobaczyć jeden lub więcej z poniższych elementów:
Wpis w dzienniku aktywności
Powiadomienie dla twórcy automatyzacji
Wyłączona automatyzacja z komunikatem o błędzie
Zasady ponawiania prób
Każda odpowiedź inna niż 200 jest uznawana za błąd. W zależności od punktu końcowego zastosowanie mają następujące zasady ponawiania prób:
| Punkt końcowy | Sposób ponawiania prób |
|---|---|
| Adres URL autoryzacji | Użytkownik zobaczy ekran błędu |
| Subskrypcja niestandardowego wyzwalacza | Błąd zostanie wyświetlony w interfejsie monday.com |
| Anulowanie subskrypcji niestandardowego wyzwalacza | Błąd zostanie wyświetlony w interfejsie monday.com |
| Adres URL uruchomienia niestandardowej akcji | Próby będą ponawiane przez 30 minut, chyba że zwrócono kod 4xx lub kod poziomu ważności |
| Adres URL zdalnych opcji | Użytkownik zobaczy komunikat „Nie udało się wczytać pól” |
| Zdalne definicje pól (mapowanie dynamiczne) | Użytkownik zobaczy komunikat „Nie udało się wczytać pól” |
📘
Logika ponawiania prób dotyczy tylko punktów końcowych w niestandardowych aplikacjach monday. Żądania wysyłane za pośrednictwem integracji webhook nie będą ponawiane.