First, set configuration for notification template. Go to Notifications → Configuration → green button Add
Topic = this has to be set to extras:expiredGuaranteeOnRoles
* Level = this has to be set to "INFO"
* Channel = email
* Template = you can use Send information about expiring and expired role guarantee (NotifyExpiredGuaranteeOnRoles) - this template is provided out of the box.
Notification is implemented as long running task. You must go to Settings → Task scheduler → Scheduled tasks and in the agenda just plan new long running task with name Notification of expiring and expired guarantors ** (ExtrasExpiredGuaranteeNotificationTaskExecutor).
Please note that for every run of the task, it evaluates the conditions and sends notifications again for all roles that meet the criteria, even if they were already notified previously. This is intentional behavior.
===== Configuration =====
The long running task has these configurations:
* recipientsIdentities - selected identities will receive notification
* recipientsRoles - all users with roles will receive notification
* recipientsEmails - email addresses will receive notification
* checkExpiring - whether check guarantees which will expire in X days
* checkExpired - whether check guaranties which are already expired
* checkEmptyGuarantee - whether che ck for missing guarantees
* daysBeforeExpire - number of days before expiration
* onlyRoles - only selected roles are checked
* excludeRoles - selected roles are skipped
* onlyCatalogues - roles are checked only in this catalogues
* excludeCatalogues - roles in this catalogues are skipped
* onlyRolePriorities - only roles with selected priorities are checked (delimiter is "," example: "2,3,4")
* excludeRolePriorities - roles with selected priorities are skipped
* onlyCanBeRequested - only roles with can be requested are checked
* onlyCannotBeRequested - only roles without can be requested are checked
* onlyGuaranteeType - only selected guarantee type is checked (example: first-approver)