GitHub Issues 通知
インシデント発生時に GitHub Issue を自動作成し、復旧時にコメント追加 + クローズできます。
事前準備: Personal Access Token の取得
Section titled “事前準備: Personal Access Token の取得”-
GitHub にログイン
GitHub にログインします。
-
Fine-grained Personal Access Token を作成
Settings > Developer settings > Personal access tokens > Fine-grained tokens から「Generate new token」をクリックします。
-
権限を設定
- Repository access: Issue を作成したいリポジトリを選択
- Permissions > Repository permissions > Issues: Read and write
Token を作成するユーザー自身にも対象リポジトリへのアクセス権が必要です。Organization のポリシーで承認が必要な場合は、利用可能になるまで承認を完了します。
-
トークンをコピー
github_pat_で始まるトークンをコピーします。
Manako での設定
Section titled “Manako での設定”- ダッシュボードで「設定」>「連携」を開き、GitHub の「設定」を選択
- 名前に識別しやすい名前を入力
- 以下を入力:
- Token: Personal Access Token
- Owner: リポジトリオーナー (ユーザー名 or 組織名)
- Repo: リポジトリ名
- Labels (任意): Issue に付与するラベル (例:
incident,manako)
- 「追加」を選択
| Manako イベント | GitHub アクション |
|---|---|
| インシデント発生 | Issue 作成 (タイトル、詳細情報、ラベル) |
| インシデント復旧 | Issue にコメント追加 + クローズ |
| メンテナンス開始・終了 | 何もしない |
Issue ↔ インシデントのマッピング
Section titled “Issue ↔ インシデントのマッピング”Manako はインシデントごとに作成した Issue 番号を記憶し、復旧時に自動でクローズします。
作成した Issue 番号はチャンネル単位で 90 日間保持されます。復旧時は解決コメントの追加を試みた後、Issue を completed としてクローズします。コメント追加だけに失敗してもクローズ処理は継続します。
Issue の例
Section titled “Issue の例”インシデント発生時:
## Incident Details
- **Monitor**: API Health- **Monitor ID**: 01JABC...- **URL**: https://example.com/health- **Incident ID**: 01JXYZ...- **Detected at**: 2026-03-26T12:00:00Z
---
_Auto-created by Manako monitoring_トラブルシューティング
Section titled “トラブルシューティング”- Test が失敗する: Test は Issue を作らず、Token で
Owner/Repositoryを取得できるかだけを確認します。Token の対象リポジトリ、期限、Organization の承認、ユーザー自身のアクセス権を確認してください。 - 通常通知で Issue が作られない: Issues が無効なリポジトリでは作成 API が失敗します。Labels を指定した場合は、Token のユーザーがそれらを付与できることも確認してください。
- 復旧しても Issue が閉じない: 作成時の Issue 番号マッピングを保存できなかった、90 日の保持期間を過ぎた、または復旧時にマッピングが見つからない場合は自動クローズされません。
- メンテナンス通知がない: GitHub 連携はメンテナンス開始・終了を処理しません。
- テストは通るが通常通知が届かない: モニター個別の通知先関連付けを確認します。関連付けがすべて無効でもチーム全体へはフォールバックしません。
- 短時間の通知が途中から届かない: 同じモニターで 10 分以内に 3 回を超える状態変化があるとフラップ抑制が働きます。
- 重複して見える: 同じインシデント・チャンネル・イベント種別で送信済みなら再試行はスキップされます。失敗または処理中の送信は再試行されます。
Test の成功後は 60 秒のクールダウンがあります。1つの GitHub チャンネルの失敗は他チャンネルの送信を止めません。