Add webhooks
This topic shows you how to add a generic webhook from the Webhook Alerts Configuration page.
Prerequisites
- You have the ROLE_ADMIN role.
- You have an endpoint URL available outside of Data Quality & Observability Classic that can handle HTTP POST and PUT requests from Data Quality & Observability Classic.
Steps
-
Sign in to Data Quality & Observability Classic and click
in the left navigation pane.
- Click Admin Console.
- Click Alerts from the list, then Alert Webhook Configuration. The Webhook Alerts Configuration page opens.
- Click Add Webhook in the upper-right corner. The Add Webhook dialog box appears.
- Enter the required information.
Field Description Webhook Name The name you assign to a webhook to help you identify and use it in Data Quality & Observability Classic. This name does not need to match the naming conventions of your systems outside Data Quality & Observability Classic.
Note Webhook names cannot contain spaces.
URL The location where JSON payloads containing alert information are sent. Method The API request method to the service associated with the URL.
Select either POST (default) or PUT.
Use for Global Alerts Optional. Enables the webhook to send a global failure alert when a job fails at runtime. Authentication Type Optional. The method that the service associated with the URL uses to authenticate each API request.
Note Selecting an authentication type is optional. However, if you select Username/Password, the Username and Password fields are required. Currently, only the Username/Password authentication type is supported.
Username/PasswordUsernameUsername credential to the service associated with the URL. PasswordPassword credential to the service associated with the URL. JSON Template (optional) Optional. Specify a custom JSON template for webhook alerts. This template can define both static values and replacement values. If left blank, the default payload is used. Delimiter format is
%%field%%.Supported template variables:
- dataset
- run_id
- alert_type
- alert_name
- alert_message
- alert_condition
- condition_value
- job_status
- tenant_name
- dataset_score
- findings_url
- profile_url
- alerts_url
- rules_url
- alert_payload. Note that alert_payload is a full JSON object.
- hostname
- unix_time_ms
- alert_time
- metatag_1, metatag_2, metatag_3, metatag_4. The numbers indicate the order of Meta Tags as shown on the Dataset Manager page. If your template includes this variable, but no Meta Tag value exists, then the job displays as ::
- business_unit. Note that the JSON output only includes the assigned parent object; it does not include the child objects. If your template includes this variable, but no Business Unit exists, then the job displays as ""
For example, suppose the customer begins with the following JSON template:
Copy{
"host": "< name of the server name from where the event is published>",
"source": "<name of the file, stream, or other input from which a particular event originates>",
"sourcetype": "<source type>",
"index": "<indexname>",
"time": <the event time in UNIX FORMAT>,
"event": {
"msg": "<message details >",
"sev": "<One of the following values : Critical | High |Medium | Low | Normal | Info>",
"type": "<alert type>",
"ci": "<application CI name starting with S.A. as in CMDB>",
"res": "<impacted resource>",
"KB": "<serviceNow KB>"
}To create a custom template, the customer replaces the variables using the format
%%field%%:Copy{
"host": "%%hostname%%",
"source": "Collibra Data Quality",
"sourcetype": "custom_json",
"index": "<indexname>",
"time": %%unix_time_ms%%,
"event": {
"msg": "<message details >",
"sev": "<One of the following values : Critical | High |Medium | Low | Normal | Info>",
"type": "%%alert_type%%",
"ci": "<application CI name starting with S.A. as in CMDB>",
"res": "<impacted resource>",
"KB": "<serviceNow KB>",
"alertName": "%%alert_name%%"
"alertCondition": "%%alert_condition%%"
"alertMessage": "%%alert_message%%"
}
}The customer then pastes the above template into the JSON Template (optional) field. Once run, the following JSON is sent to the defined webhook:
Copy{
"host": "http://localhost:9000",
"source": "Collibra Data Quality",
"sourcetype": "custom_json",
"index": "<indexname>",
"time": 1760530634,
"event": {
"msg": "<message details >",
"sev": "<One of the following values : Critical | High |Medium | Low | Normal | Info>",
"type": "RULE STATUS",
"ci": "<application CI name starting with S.A. as in CMDB>",
"res": "<impacted resource>",
"KB": "<serviceNow KB>",
"alertName": "rules breaking RENAMED"
"alertCondition": "score >= 0"
"alertMessage": "Rules Breaking for Dataset XYZ"
}
}Note Validation of JSON is currently not supported.
- Click Save.