このガイドでは、Discourse サイトで新しい管理者通知が検出されたときに、管理者グループにプライベートメッセージを送信する自動監視システムを設定する方法を紹介します。
必要なユーザーレベル: 管理者
概要
管理者通知は、プラグインの更新、テーマの互換性の問題、セキュリティ上の懸念など、重要なサイトの問題について管理者にアラートを出します。このガイドでは、サイトに新しい管理者通知が表示されるたびに管理チームにプロアクティブに通知する自動システムを構成し、重要な更新を見逃さないようにする方法を説明します。
監視システムは、次の 2 つの主要コンポーネントで構成されます。
- 過去 24 時間に作成された新しい管理者通知の数をカウントする Data Explorer クエリ
- クエリを定期的に実行し、通知が見つかった場合に管理者グループにプライベートメッセージを送信する Discourse Automation
前提条件
始める前に、サイトで次のプラグインが有効になっていることを確認してください。
- Data Explorer - Business プランおよび Enterprise プランで利用可能。セルフホスト型インスタンスにもインストールできます。
- Discourse Automation - Discourse コアに含まれています(個別のインストールは不要)。
Discourse がホストしていますか?
Automations および Data Explorer プラグインは、Business プラン以降で利用可能です。
Data Explorer クエリの作成
最初のステップは、新しい管理者通知を識別するクエリを作成することです。
- Discourse サイトで
/admin/plugins/discourse-data-explorerに移動します。 - Add をクリックして新しいクエリを作成します。
- クエリ名を「Admin Notices Count - Last 24 Hours」にします。
- 次の SQL クエリを追加します。
SELECT 'There are new admin notices on dashboard.' AS message, id, created_at
FROM admin_notices
WHERE created_at >= CURRENT_TIMESTAMP - INTERVAL '24 hours'
ORDER BY created_at DESC
このクエリは、過去 24 時間以内に作成された管理者通知の数をカウントします。
- Save をクリックしてクエリを保存します。
- Run をクリックしてクエリをテストし、正しく結果が返されることを確認します。
オートメーションの設定
次に、このクエリを定期的に実行し、通知を送信するオートメーションを設定します。
オートメーションの作成
/admin/plugins/automation/に移動します。- Add automation をクリックします。
- Script の場合、Schedule a PM with Data Explorer results を選択します。
- 「Alert on New Admin Notices」などの名前を入力します。
- Trigger の場合、Recurring を選択します。
トリガーの設定
トリガーセクションで次の設定を行います。
- Recurrence を、希望するスケジュール(例: “Every 24 hours”)に合わせて設定します。
- Start date を有効にし、監視を開始する日時を選択します。
スクリプトの設定
スクリプトセクションで、次のフィールドを設定します。
Send to User, Group or Email: 管理者グループ名を入力します(通常は admins)。
Data Explorer Query: 「Admin Notices Count - Last 24 Hours」(以前作成したクエリ)を選択します。
Skip sending PM if there are no results: カウントが 0 の場合に PM の送信を回避するために、このオプションを有効にします。
次に、「Update automation」ボタンをクリックします。
オートメーションの有効化
すべての設定を構成した後:
- 設定を確認します。
- ページ上部にある Enable automation トグルをクリックして、オートメーションをアクティブ化します。
- 必要に応じて、Trigger now をクリックしてオートメーションをすぐにテストします。
仕組み
有効にすると、システムは次のように機能します。
- 24 時間ごと(または設定した間隔ごと)に、オートメーションが自動的にトリガーされます。
- Data Explorer クエリが実行され、過去 24 時間に作成された管理者通知がカウントされます。
- カウントが 0 より大きい場合、通知数とともに PM が管理者グループに送信されます。
- 新しい通知が見つからない場合(「Skip sending PM if there are no results」設定により)、PM は送信されません。
これにより、管理者チームは、不要なメッセージに煩わされることなく、新しい管理者通知に関するタイムリーな通知を受け取ることができます。
トラブルシューティング
オートメーションが実行されない
- オートメーションが有効になっているか確認します - オートメーションページの最上部にあるトグルを確認してください。
- オートメーションに関連するエラーメッセージがないか
/logsを確認します。 - Automation プラグイン自体が
/admin/pluginsで有効になっていることを確認します。
PM が受信されない
- 「Send to」フィールドのグループ名が正しいことを確認します。
- 管理者グループが PM を受信する権限を持っているか確認します。
- PM のメール通知を受信できるように、個人の通知設定を確認します。
通知が存在するのにクエリが結果を返さない
- Data Explorer でクエリを手動でテストします。
- 時間間隔パラメーターがオートメーションの頻度と一致しているか確認します。
/adminにアクセスして、管理者通知が実際に存在するかどうかを確認します。
