OctoberCMSのエラーをSlackに通知する


Error Loggerプラグインを使うと楽にできるが、Slackの方の設定など情報がなかったのでメモ。

Error Loggerプラグインのインストール

OctoberCMSの管理画面、またはcomposerでもインストールできる。
composerではプロジェクトのルートディレクトリで下記コマンドで完了。

composer require vojtasvoboda/oc-errorlogger-plugin

以上で、下記のような画面が管理画面で開ける。

Slackの設定

ブラウザでSlackにログインしてSlack APIページからSlackアプリを作成する。

「Review Scopes to Add」をクリック

「Bot Token Scopes」で、Botに許可する権限を選択して設定する。
「Add an OAuth Scope」ボタンをクリックして、chat:write.customizeを設定するとchat:writeも追加するダイアログが出るので「Add Scopes」を押せば両方設定できる。

そしたら、ページの上の方に戻って「Install to Workspace」をクリックする。

確認画面が表示されるので許可して自分のチームのワークスペースにアプリをインストールする。

インストールされると元の画面に戻り、「Bot Uesr OAuth Access Token」をコピーする。

そして、Slackのチャネルでこのアプリを追加してやる。

以上で、Slackの方の設定は完了。

Error Logger プラグインの設定

OctoberCMS管理画面のSettings画面で、SYSTEM以下にある「Error logger」のメニューを開き、Slackタブを選択する。

ここの「Slack API token」に先ほどコピーしたBotのトークンを貼り付ける。

Slack channelはお好きなチャンネル名を。ちなみに#で始まるのはチーム内の公開チャネルで?で始まるのは非公開チャネル、@で始まるのはユーザ名でダイレクトメッセージになる。

「Name of a bot」は実は先ほと作成したBotの名前でなくてもよい。単純にこの名前がSlackへの投稿で表示される。

「Send as attachment (option)」はチェックした方がSlackに表示されるメッセージがコンパクトになってよい。

以上で、ログにエラーが吐かれるとSlackに通知が飛ぶようになる。