Yeah, we've been using on_failure_callbacks for a long time and sending alerts to slack and pagerduty.
On Thu, Apr 15, 2021 at 4:30 PM Ash Berlin-Taylor <a...@apache.org> wrote: > Yes, this sounds like a good feature, but I would go about it in a > slightly different way that is less "special cased" to just chat services > or webhooks and doesn't need new config (or much less) > > Specifically, rather than having to add new parameters to dag/task for > webhooks specifically, I would suggest we have add utility functions to > hooks/operators etc that have the behaviour you specify. > > Slack/credential configuration should be done using connections, not in > the config file > > So something like this becomes the dag/task API: > > from airflow.providers.slack.hooks import task_callback_handler as > send_slack_message > > task = MyOperator( > task_id = "something", > on_failure_callback= send_slack_message( > slack_conn_id='slack-default', # Default, not actually required > here, for example only > channels=['#data-ops'], > mentions=['@ash'], > ), > ) > > Names can be changed/discussed, this is just a rough idea. > > Using this approach means that a) We don't need to add a whole bunch of > new config, and b) it can be easily extended/created by providers without > needing changes to core -- after all the feature to run code after > failure/success already exists, we just want to "package up" the common > task of sending a slack message. > > I think for consistency of interface too we should deprecate the > email_on_failure task attribute too in favour of a similar function. > > And finally, perhaps `on_*_callback` gets extended to allow a list of > functions instead of just one. > > Thoughts? > > -ash > > > On Thu, 15 Apr, 2021 at 12:42, Sayed Mohammad Hossein Torabi < > blck...@gmail.com> wrote: > > I would like to present a new feature in airflow. It's a good idea to > support webhooks triggers for notifying users about their tasks. > we can do it by providing it in a way that I could supports software like > Slack, MatterMost, Discord, MS Teams. this software currently uses by a > wide range of international users. > This feature provides a better UX for our users and also reduces efforts > for every company/user who uses airflow to write their own callbacks. > > Here is my initials idea: > > - Changes in the default_args: > - add new entry: webhook_on_failure: bool > - add new entry: webhook_on_retry: bool > - add new entry: webhook_on_success: bool > - add new entry: channels: List[str] (List of channels) > - add new entry: mentions: List[str] (List of users to mention) > - Changes in the airflow.cfg: > - add new seciont like [webhook] for Slack, etc. configuration. > - Message templates: > I would like to do it like the Prometheus alerting template. > > About message templates, I mean something like this. > >