Implement customizable reminder notifications for pending approvals

Description

Implement a feature to send customizable reminder notifications for pending approvals. Design the notification system to allow the user to configure the reminder timing.


Accepted criteria

  • Implement a notification system for pending approvals.
  • Allow users to customize the timing of reminder notifications.
  • The system should periodically check for pending approvals.
  • Notifications should be sent based on user-defined settings.

For testing:

  • Feature (enabling it and customizing the interval unit and count) can be customized on three levels:
  • Global settings level - it can be disabled globally here and we can set the default interval count and unit for other levels.
  • Definition level
  • And finally approval level on the parametrization view.
  • There is a limit of 3 notifications with the last one labeled as the last to not to spam.
  • The feature is also compatible with other reminder options like setting a notification mechanism for APFJ - direct email, Jira notification, or enabling action buttons.
    For APFC changing the notification mechanism will be soon done too.

As the minimal interval for automatic reminders is 1 hour, I guess the testing process might look like setting this feature for approval, start it, and wait 4 hours - 3 notifications should come, last with the “Last reminder” label, and no more than that - that’s why additional one hour, to make sure that fourth notification will not come.