---
title: "Интеграция Upptime — оповещения мониторинга доступности"
sidebarTitle: Upptime
description: Подключите Upptime к Echobell, чтобы получать push-уведомления или звонки в тот момент, когда сайт становится недоступен. Руководство по настройке на базе GitHub Actions.
---

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

# Интеграция Upptime

Вы можете передавать события сбоев и восстановления из Upptime напрямую в Echobell, чтобы команда получала срочные push-оповещения или звонки без отдельного конвейера. Это руководство посвящено настройке на стороне Echobell и использует встроенные переменные уведомлений Upptime. Специфичные для Upptime параметры описаны в [официальной документации по уведомлениям](https://upptime.js.org/docs/notifications).

## Зачем использовать Echobell для оповещений Upptime

- Эскалация до звонка при критических сбоях, тогда как рутинные проверки остаются обычными или срочными push-уведомлениями
- Шаблоны и переменные: в каждом оповещении видны затронутый сайт, статус, код ответа и ссылка на issue в GitHub
- Никакой дополнительной инфраструктуры — только защищённый URL вебхука для каждого канала Echobell

## Требования

- Существующий репозиторий Upptime с включёнными GitHub Actions
- Права на добавление секретов в репозиторий GitHub
- Канал Echobell с URL вебхука (в приложении откройте канал → скопируйте его URL вебхука)

<Steps>
<Step>
### Подготовьте канал Echobell

1. Создайте или откройте канал в Echobell и выберите нужный тип уведомления (обычное, срочное или звонок).
2. Скопируйте URL вебхука канала; он выглядит так: `https://hook.echobell.one/t/<channel-token>`.
3. (Необязательно) Задайте шаблон с переменными `{{site}}`, `{{status}}`, `{{code}}`, `{{url}}` и `{{issue}}`, чтобы оповещения оставались структурированными.
</Step>
<Step>

### Добавьте секреты Upptime для Echobell

В репозитории Upptime перейдите в **Settings → Secrets and variables → Actions** и добавьте:

- `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`
- (Необязательно) `NOTIFICATIONS_DOWN_MESSAGE=$EMOJI $SITE_NAME is $STATUS ($RESPONSE_CODE) – $ISSUE_URL`
- (Необязательно) `NOTIFICATIONS_UP_MESSAGE=$EMOJI $SITE_NAME is back up – $SITE_URL`

Примечания:

- Параметры запроса передают структурированные данные в Echobell. Upptime подставляет значения переменных, а Echobell сохраняет их как переменные шаблона (`site`, `status`, `url`, `issue`, `code`, `emoji`).
- Следите за кодированием URL (заменяйте пробелы на `%20`, если меняете текст), иначе запрос сломается.
- Остальные провайдеры уведомлений и стратегии по-прежнему настраиваются в Upptime — добавьте только то, что нужно для Echobell, а остальное оставьте в интерфейсе секретов GitHub.
</Step>
<Step>

### Сопоставьте переменные в Echobell

Используйте лаконичный шаблон, чтобы оповещения оставались читаемыми:

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

Для важных сайтов можно переключить тип уведомлений канала на «Срочное» или «Звонок», а для остальных оставить обычные push-уведомления.

</Step>
<Step>
### Проверьте интеграцию

- Временно направьте отслеживаемый URL на несуществующий эндпоинт или остановите сервис, чтобы вызвать сбой.
- Убедитесь, что оповещение приходит в Echobell и поля шаблона заполнены.
- Восстановите сервис и проверьте сообщение о восстановлении.
</Step>
</Steps>

## Устранение неполадок

- Убедитесь, что `NOTIFICATION_CUSTOM_WEBHOOK` и `NOTIFICATION_CUSTOM_WEBHOOK_URL` написаны точно так же, как в списке секретов.
- Если вы измените токен канала Echobell, обновите секрет.
- При ошибках на стороне Upptime или при подключении других провайдеров смотрите [официальную документацию](https://upptime.js.org/docs/notifications) и логи GitHub Actions.
