GitHub user dosubot[bot] added a comment to the discussion: Adding new 
notification methods

<!-- Greeting -->
Hi @Samuel-Sj! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the 
superset team.

<!-- Answer -->
To add a new notification method like Mattermost, Superset uses a modular 
system where each notification provider is a subclass of `BaseNotification` in 
`superset/reports/notifications`. You should create a new class for Mattermost, 
set a unique `type` attribute, implement the `send()` method, and make sure 
your new class is imported in `superset/reports/notifications/__init__.py` so 
it registers as a plugin. The Slack notification implementation is a good 
template to follow for structure and API integration logic 
[(example)](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/reports/notifications/slack.py).

If your changes aren't being applied after rebuilding, common issues include: 
not importing/registering your new notification class, Docker image caching 
(try `docker compose down -v` before rebuilding), or placing your module in the 
wrong directory. Also, if you run into migration issues, you may need to 
manually reset the migration state 
[(instructions)](https://github.com/apache/superset/issues/34622).

There isn't official documentation or community experience specifically for 
Mattermost, but the notification system is designed to be extensible, so 
following the Slack example should work well. If you share more details about 
your changes or error messages, I can help troubleshoot further.


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? 
[Good](https://app.dosu.dev/response-feedback/657d6d50-ae5e-418a-adf2-81c97ff627e1?feedback_type=great_response)
 | 
[Irrelevant](https://app.dosu.dev/response-feedback/657d6d50-ae5e-418a-adf2-81c97ff627e1?feedback_type=irrelevant_answer)
 | 
[Incorrect](https://app.dosu.dev/response-feedback/657d6d50-ae5e-418a-adf2-81c97ff627e1?feedback_type=incorrect_sources)
 | 
[Verbose](https://app.dosu.dev/response-feedback/657d6d50-ae5e-418a-adf2-81c97ff627e1?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/657d6d50-ae5e-418a-adf2-81c97ff627e1?feedback_type=hallucination)
 | [Report 
šŸ›](https://app.dosu.dev/response-feedback/657d6d50-ae5e-418a-adf2-81c97ff627e1?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/657d6d50-ae5e-418a-adf2-81c97ff627e1?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat
 with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&
 nbsp;[![Join 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/35458)

GitHub link: 
https://github.com/apache/superset/discussions/35458#discussioncomment-14577085

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to