Skip to main content

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 app-config.yaml:

# add this in your app-config.yaml
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']