New Platform Entities Notifications
Overview
This section describes how to configure informative notification events offered by witboost when a new system/template/domain/policy gets registered into the platform. Currently, these notifications do not follow the configuration steps described in the overview page.
The configuration of the new system/template/blueprint/domain/policy notification is specified in YAML format and includes a list of events (byEvent) with corresponding settings for
each event. The settings for each event include the event name (event), whether to send a notification (
sendNotification), whether to send an email (sendMail), and who should receive the notification (recipients).
The following events are currently supported:
- New Version (
NewVersion): Sent when a new version of a data product is created. - New System (
NewSystem): Sent when a new data product is registered. - New Template (
NewTemplate): Sent when a new template is registered. - New Blueprint (
NewBlueprint): Sent when a new blueprint is registered. - New Domain (
NewDomain): Sent when a new domain is registered. - New Policy (
NewPolicy): Sent when a new policy is registered.
For each event, the sendNotification and sendMail configuration properties can be set to true or false depending on whether a
push notification or email should be sent. The recipients setting is an array of strings indicating who should receive the
notification.
The platform currently supports the following recipient retrieving functions:
dataProductConsumersOwners: This function retrieves the owners of components that read from the subject data product of the event.dataProductOwners: This function retrieves all users who own at least one data product.group:<group_name>: This function retrieves all users who are members of a specified group defined in Witboost.
You also have the option to further personalize the notification message by utilizing the notificationText field. Within the custom message, you can incorporate:
{{displayName}}variable to display the name of the entity that initiated the event. For instance, if the entity is a component named 'myComponent,' the displayName will be resolved as 'component:default/myComponent';{{user}}variable to display the name of the user that has instanciated the entity;{{repoUrl}}variable to display the url of the entity.
Example values.yaml:
# inside your values.yaml
ui:
appConfig:
# ... other configurations ...
notifications:
byEvent:
- event: NewVersion
sendNotification: true
sendMail: false
recipients: ['dataProductConsumersOwners']
notificationText: 'My custom message about the new version of: {{displayName}}.'
- event: NewSystem
sendNotification: true
sendMail: false
recipients: ['group:dev']
notificationText: 'New system has been created from user {{user}}. It is available <a href="{{repoUrl}}">here</a>'
- event: NewTemplate
sendNotification: true
sendMail: false
recipients: ['dataProductOwners']
- event: NewDomain
sendNotification: true
sendMail: false
recipients: ['dataProductOwners']
- event: NewPolicy
sendNotification: true
sendMail: false
recipients: ['dataProductOwners']