Story #2679

Updated by Lucas Di Pentima over 2 years ago

* Concepts Ideas
** Per-user preference Preference to enable emails notifications: notifications. There are 2 options:
*** On completion Per user (probably the best)
*** On failure of Per workflow (may be useful if implemented in tandem with a child job (avoiding multiple notifications if more than one child fails) per-user setting)
** Only toplevel jobs should send notifications, so in the case of If a "will fail" state, only one workflow is sent. owned by a project/group:
** *** For now, only groups: notify the project group owner will be notified and not any other user that has access to (if it isn’t the system user) or all members?
** The email address that will be used to send *** For projects: Find the notifications to owner by navigating back through owner_uuid until a tpzed type is the one being used for login, and not the one provided on the user's profile found?
* Implementation
** API Server
*** A server setting establishing the default behavior for new (or all?) users that don't have the preference explicitly set
*** A server setting establishing if emails notifications are enabled or not.
Add a new mailer like @services/api/app/mailers/admin_notifier.rb@
*** Add necessary callbacks on containers/pipelines updates to call the mailer when needed
** Workbench
*** New UI element to show & change user preference preference. Maybe on the user’s profile page, under a new "Preferences" section. page.
** Documentation updates *** UI element on container/container_req/pipeline_instance if per-workflow setting == true