Awesome
Magento 2 Slack Notifier Module
Overview
The Magento 2 Slack Notifier module sends logger exceptions automatically to a specified Slack channel. This integration helps you stay updated with critical issues in your Magento store by sending real-time notifications directly to your Slack workspace.
Features
- Sends logger exceptions to a Slack channel
- Configurable log levels (Alert, Debug, Critical, Info, Error, Emergency, Notice, Warning)
- Option to use synchronous or asynchronous sending
- Custom message service to send messages to specified channels with async/sync options (for developers)
Installation
Using Composer
- Navigate to your Magento 2 root directory.
- Require the module using Composer:
composer require magify/magento2-module-slacknotifier
- Enable the module:
php bin/magento module:enable Magify_SlackNotifier
- Run the setup upgrade command:
php bin/magento setup:upgrade
Configuration
-
In the Magento admin panel, navigate to
Stores > Configuration > Advanced > Developer > Slack Notifier
. -
Configure the following settings:
- Activate: Enable or disable the Slack notifier module.
- Use Async Send: Select whether to send messages asynchronously or synchronously.
- API Timeout: Set the timeout duration in seconds for API calls. Use 0 for an indefinite wait.
- Logger Type: Select the log types to send to Slack (e.g., Alert, Debug, Critical, etc.).
- URL: The Slack API URL. Typically, this will be
https://slack.com/api/chat.postMessage
. - Channel ID: The ID of the Slack channel where messages will be sent.
- Token: Your Slack app token.
Usage
Once configured, the module will automatically send log exceptions of the specified types to your Slack channel. You can monitor these notifications to quickly respond to issues in your Magento store.
Custom Message Service
Overview
The custom message service allows developers to send any message to a specified Slack channel, with the option to choose between asynchronous or synchronous sending.
Note
If the channel and token are not set in the function parameters, the service will use the values configured in the Magento admin panel.
Usage
Here is an example of how to use the custom message service in your Magento 2 module:
-
Inject the
CustomMessage
in your class:<?php namespace YourVendorName\SlackNotifier\Controller\Index; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; use YourVendorName\SlackNotifier\Model\CustomMessage; class Test extends Action { protected $customMessage; public function __construct(Context $context, CustomMessage $customMessage) { $this->customMessage = $customMessage; parent::__construct($context); } public function execute() { $title= "This is a test title"; $message = "This is a test message"; $async = false; // or true based on your requirement $channel = "your-channel-id"; $token = "your-token"; $this->customMessage->notifyMessage($title, $message, $async, $channel, $token); } }
-
Call the
notifyMessage
method with your title, message, channel ID, token and sending type (async/sync).
Support
For support and feature requests, please open an issue on the GitHub repository.
License
This module is licensed under the MIT License.