このガイドでは、Discourseサイトで新しい管理者通知が検出されたときに管理者グループにプライベートメッセージを送信する自動監視システムをセットアップする方法を説明します。
必要なユーザーレベル:管理者
概要
管理者通知は、プラグインの更新、テーマの互換性の問題、セキュリティの懸念など、重要なサイトの問題を管理者に警告します。このガイドでは、サイトに新しい管理者通知が表示されるたびに管理チームに自動的に通知するシステムを構成し、重要な更新を見逃さないようにします。
監視システムは、次の2つの主要コンポーネントで構成されます。
- 過去24時間に作成された新しい管理者通知をカウントするData Explorerクエリ
- 定期的にクエリを実行し、通知が見つかった場合に管理者グループにプライベートメッセージを送信するDiscourse Automation
前提条件
開始する前に、サイトで次のプラグインが有効になっていることを確認してください。
- Data Explorer - BusinessおよびEnterpriseホストプランで利用可能、またはセルフホストインスタンスにインストール可能
- Discourse Automation - Discourseコアにバンドルされています(個別のインストールは不要)
Discourseでホストされていますか?
AutomationsおよびData Explorerプラグインは、Businessプラン以降で利用可能です。
Data Explorerクエリの作成
最初のステップは、新しい管理者通知を識別するクエリを作成することです。
- Discourseサイトの
/admin/plugins/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)。Query: 「Admin Notices Count - Last 24 Hours」(以前に作成したクエリ)を選択します。
Skip if no results: カウントが0の場合にPMの送信を防止するには、このオプションを有効にします。
次に、「Update automation」ボタンをクリックします。
自動化の有効化
すべての設定を構成した後:
- 設定を確認します。
- ページ上部にある Enable automation トグルをクリックして、自動化をアクティブにします。
- オプションで、Trigger now をクリックして自動化をすぐにテストします。
仕組み
有効になると、システムは次のように動作します。
- 24時間ごと(または設定した間隔)、自動化が自動的にトリガーされます。
- Data Explorerクエリが実行され、過去24時間以内に作成された管理者通知がカウントされます。
- カウントが0より大きい場合、通知カウントを含むPMが管理者グループに送信されます。
- 新しい通知が見つからない場合、「Skip if no results」設定によりPMは送信されません。
これにより、管理チームは不要なメッセージに圧倒されることなく、新しい管理者通知に関するタイムリーな通知を受け取ることができます。
トラブルシューティング
自動化が実行されない
- 自動化が有効になっていることを確認します。自動化ページの上部にあるトグルを確認してください。
- 自動化に関連するエラーメッセージがないか
/logsを確認します。- Automationプラグイン自体が
/admin/pluginsで有効になっていることを確認します。PMが届かない
- 「Send to」フィールドのグループ名が正しいことを確認します。
- 管理者グループがPMを受信する権限を持っていることを確認します。
- PMのメール通知を受信するように、個人の通知設定を確認します。
通知が存在する場合にクエリで結果が返されない
- Data Explorerでクエリを手動でテストします。
- 時間間隔パラメータが自動化の頻度と一致していることを確認します。
/admin/dashboard/problemsにアクセスして、実際に管理者通知が存在することを確認します。追加リソース
