---
title: "Integracja z Upptime – alerty z monitoringu dostępności"
sidebarTitle: Upptime
description: Zintegruj Upptime z Echobell, aby otrzymywać powiadomienia push lub połączenia w chwili, gdy Twoja witryna przestaje działać. Konfiguracja oparta na GitHub Actions.
---

import { Step, Steps } from "fumadocs-ui/components/steps";

# Integracja z Upptime

Zdarzenia o awariach i powrotach do działania z Upptime możesz przekazywać wprost do Echobell, dzięki czemu Twój zespół otrzyma czasowo krytyczne powiadomienia push lub połączenia telefoniczne bez budowania osobnego procesu. Ten przewodnik skupia się na stronie Echobell i wykorzystuje natywne zmienne powiadomień Upptime. Opcje specyficzne dla Upptime znajdziesz w [oficjalnej dokumentacji powiadomień](https://upptime.js.org/docs/notifications).

## Dlaczego warto używać Echobell do alertów Upptime

- Eskalacja przez połączenie telefoniczne przy krytycznych awariach, przy zachowaniu rutynowych sprawdzeń jako powiadomień standardowych lub czasowo krytycznych
- Szablony i zmienne, dzięki którym każdy alert pokazuje objętą awarią witrynę, status, kod odpowiedzi i odnośnik do zgłoszenia w GitHub
- Zero dodatkowej infrastruktury — wystarczy bezpieczny adres URL webhooka dla każdego kanału Echobell

## Wymagania wstępne

- Istniejące repozytorium Upptime z włączonym GitHub Actions
- Uprawnienia do dodawania sekretów repozytorium GitHub
- Kanał Echobell z adresem URL webhooka (w aplikacji otwórz kanał → skopiuj jego adres URL webhooka)

<Steps>
<Step>
### Przygotuj kanał Echobell

1. Utwórz lub otwórz kanał w Echobell i wybierz preferowany styl powiadomienia (standardowe, czasowo krytyczne lub połączenie).
2. Skopiuj adres URL webhooka kanału; wygląda on tak: `https://hook.echobell.one/t/<channel-token>`.
3. (Opcjonalnie) Ustaw szablon korzystający ze zmiennych takich jak `{{site}}`, `{{status}}`, `{{code}}`, `{{url}}` i `{{issue}}`, aby Twoje alerty miały spójną strukturę.
</Step>
<Step>

### Dodaj sekrety Upptime dla Echobell

W swoim repozytorium Upptime przejdź do **Settings → Secrets and variables → Actions** i dodaj:

- `NOTIFICATION_CUSTOM_WEBHOOK=true`
- `NOTIFICATION_CUSTOM_WEBHOOK_URL=https://hook.echobell.one/t/<channel-token>?site=$SITE_NAME&status=$STATUS&url=$SITE_URL&issue=$ISSUE_URL&code=$RESPONSE_CODE&emoji=$EMOJI`
- (Opcjonalnie) `NOTIFICATIONS_DOWN_MESSAGE=$EMOJI $SITE_NAME is $STATUS ($RESPONSE_CODE) – $ISSUE_URL`
- (Opcjonalnie) `NOTIFICATIONS_UP_MESSAGE=$EMOJI $SITE_NAME is back up – $SITE_URL`

Uwagi:

- Parametry zapytania przenoszą uporządkowane dane do Echobell. Upptime dokleja zmienne, a Echobell zapisuje je jako zmienne szablonu (`site`, `status`, `url`, `issue`, `code`, `emoji`).
- Zadbaj o zakodowanie adresu URL (jeśli zmieniasz tekst, zamień spacje na `%20`), aby nie uszkodzić żądania.
- Pozostali dostawcy powiadomień i strategie nadal są zarządzani po stronie Upptime — dodaj tylko to, czego potrzebujesz dla Echobell, a resztę zostaw w interfejsie sekretów GitHub.
</Step>
<Step>

### Przypisz zmienne w Echobell

Użyj zwięzłego szablonu, aby alerty pozostały czytelne:

```
Title: {{emoji}} Upptime: {{site}} is {{status}}
Body: Response {{code}} · {{url}}
External link: {{issue}}
```

Dla witryn o wysokim priorytecie możesz zmienić styl powiadomienia kanału na „Czasowo krytyczne” lub „Połączenie”, zostawiając pozostałe jako standardowe powiadomienia push.

</Step>
<Step>
### Przetestuj integrację

- Tymczasowo skieruj monitorowany adres URL na nieistniejący punkt końcowy albo zatrzymaj usługę, aby wywołać awarię.
- Sprawdź, czy alert dociera do Echobell z wypełnionymi polami szablonu.
- Przywróć usługę i zweryfikuj wiadomość o powrocie do działania.
</Step>
</Steps>

## Rozwiązywanie problemów

- Upewnij się, że `NOTIFICATION_CUSTOM_WEBHOOK` i `NOTIFICATION_CUSTOM_WEBHOOK_URL` są zapisane dokładnie tak jak na liście sekretów.
- Jeśli zmienisz token kanału Echobell, zaktualizuj sekret.
- W przypadku problemów po stronie Upptime lub dodatkowych dostawców zajrzyj do [oficjalnej dokumentacji](https://upptime.js.org/docs/notifications) i logów GitHub Actions.
