---
title: Upptime 連携 - GitHubベースの稼働時間監視通知
sidebarTitle: Upptime
description: UpptimeをEchobellと統合してダウンタイムの即時アラートを受け取るための完全ガイド。GitHub Actionsベースの稼働時間監視、カスタムWebhook、ステータスページ通知でサイト障害のモバイルプッシュ通知や電話通知を受信。
---

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

# Upptime 連携

Upptime のダウン・復旧イベントをそのまま Echobell に転送し、追加の仕組みなしで時間依存のプッシュや電話通知を届けられます。ここでは Echobell 側の設定に絞り、Upptime 特有のオプションは [公式通知ドキュメント](https://upptime.js.org/docs/notifications) を参照してください。

## Upptime × Echobell を使う理由

- 重大障害は電話アラート、通常チェックは標準/時間依存プッシュに出し分け
- サイト名・ステータス・レスポンスコード・GitHub Issue へのリンクをテンプレートと変数で表示
- 追加インフラ不要、Echobell のチャンネルごとに安全な Webhook URL を用意するだけ

## 前提条件

- GitHub Actions を有効にした Upptime リポジトリ
- リポジトリ Secrets を追加できる権限
- Webhook URL を持つ Echobell チャンネル（アプリでチャンネルを開き Webhook をコピー）

<Steps>
<Step>
### Echobell チャンネルを用意

1. Echobell でチャンネルを作成または開き、通知スタイル（標準 / 時間依存 / 通話）を選択。
2. チャンネルの Webhook をコピーします：`https://hook.echobell.one/t/<channel-token>`。
3. （任意）`{{site}}`、`{{status}}`、`{{code}}`、`{{url}}`、`{{issue}}` を使ったテンプレートを設定し、通知を構造化します。
</Step>
<Step>

### Upptime に Echobell 用 Secrets を追加

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 に必要なものだけを Secrets に追加します。
</Step>
<Step>

### Echobell で変数をマッピング

読みやすいよう簡潔なテンプレートにします。

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

重要なサイトはチャンネル通知タイプを「時間依存」や「通話」に切り替え、その他は標準プッシュのままにできます。

</Step>
<Step>
### 連携をテスト

- 監視 URL を一時的に存在しないエンドポイントへ向けるか、サービスを停止して障害を発生させます。
- Echobell にテンプレートのフィールドが入った通知が届くか確認します。
- サービスを復旧させ、回復メッセージも届くか確かめます。
</Step>
</Steps>

## トラブルシュート

- `NOTIFICATION_CUSTOM_WEBHOOK` と `NOTIFICATION_CUSTOM_WEBHOOK_URL` の綴りを再確認してください。
- Echobell のチャンネルトークンを変更した場合は Secret を更新します。
- Upptime 側の失敗や追加プロバイダについては、[公式ドキュメント](https://upptime.js.org/docs/notifications) と GitHub Actions のログを参照してください。
