In this documentation, we'll guide you through setting up custom webhooks to integrate with third-party services like Zapier. This feature allows you to receive notifications and automate workflows when exceptions occur in TimeXtender Data Quality (DG). By integrating with your preferred ticketing system, such as Jira or Asana, you can automate the creation, updating, and closing of tickets based on the exceptions detected. This ensures that tasks are automatically tracked and managed, reducing manual work and improving efficiency.
Benefits
- Automation: Automatically create, update, and close tickets in your preferred system, such as Jira or Asana, when exceptions occur.
- Flexibility: Use any of the 5000+ connectors available in Zapier to start other automations based on exceptions.
- Efficiency: Eliminate the need to manually create and manage tickets, freeing up time for more critical tasks.
By following this guide, you'll learn how to set up webhooks to create new tickets, update existing tickets, and close tickets in any ticketing system or other systems supported by Zapier.
Prerequisites
- A Zapier account (Sign up or log in at Zapier) or a similar third-party service.
- Access to your ticketing system (e.g., Jira) with necessary permissions to create and manage tickets.
Parameter Definitions
Below is a table explaining the parameters used in the webhook payload:
Parameter | Description |
---|---|
TestName | Name of the Data Quality (DG) test that generated the exception. |
TestAction | The action required to fix the exception. |
TestDescription | A description of the test and its purpose. |
Exception | Data related to where the exception occurred. |
Assignee | The person assigned to address the exception. |
Priority | The priority level of the test. |
IssueId | An identifier for the issue. |
TestId | An identifier for the specific test. |
TestType | The type of test. |
Uat | User Acceptance Testing identifier. |
NotificationId | A unique identifier for the notification. |
Token | A security token for authentication. |
WebhookResultId | The ID of the item in the ticketing system (used for updating and closing tickets). |
Creating Zaps for Jira Integration
In this section, we will show how to create new tickets, update tickets, and close tickets in your preferred ticketing system. This is useful because it ensures that all exceptions detected in Data Quality (DG) are automatically tracked and managed in your existing task management system.
1. Create New Ticket in Jira Zap
Begin by creating an empty Zap by clicking Create > Zaps.
Step 1: Set Up the Trigger
- In your empty Zap, select 1. Trigger.
- Search for and select Webhooks by Zapier.
- Choose Catch Hook as the event and click "Continue."
- Copy the Webhook URL:
- In the Test tab, you'll see a unique webhook URL. Copy this URL.
- Use an online REST client like Rest Ninja (restninja.io) or Postman to send a POST request to this URL with the following JSON body:
{ "TestName": "test", "TestAction": "test", "TestDescription": "test", "Exception": "test", "Assignee": "test", "Priority": "test", "IssueId": "test", "TestId": "test", "TestType": "test", "Uat": "test", "NotificationId": "test", "Token": "test" }
- Once you have sent the POST request, head back to your Zap and in the Test tab press Test trigger. Then you can see the request that you just made. Select that one, make sure that you see the same parameters as in step 4 above, and then you can continue to the testing step.
Step 2: Set Up the Action to Create a Jira Ticket
- Click on 2. Action.
- Search for and select Jira Software Cloud.
- Choose Create Issue as the event and click "Continue."
- Sign in to your Jira account and set up the required fields to create a new ticket. Use the parameters from the catch hook parameters to fill in the fields.
Step 3: Add Custom Request for Notification
- Add another action and select Webhooks by Zapier.
- Choose Custom Request as the event and click Continue.
- Set up the custom request with the following details:
- Method: POST
- URL: https://{{CustomerKey}}.exmon.com/api/notifications/custom-webhook-results?token={{Token}}
- Replace the {{CustomerKey}} with the Customer Key of your service and replace {{Token}} with the corresponding catch hook parameter.
- Data: Use the following JSON format with Data Quality (DG)-specific parameters. Replace the placeholders inside the double curly brackets with the corresponding catch hook parameters:
{ "IssueId": "{{IssueId}}", "TestId": "{{TestId}}", "TestType": "{{TestType}}", "Uat": "{{Uat}}", "NotificationId": "{{NotificationId}}", "TicketId": "{{TicketId}}" }
- Unflatten: False
- Headers:
- Content-Type: application/json
Test the Actions
- Test the Jira action to ensure the ticket is created and the notification is sent successfully but you can skip testing the Custom Request action since it will fail because we do not have the token in our test data.
- Name your Zap (e.g., "Create New Jira Ticket"), publish it and turn it on.
2. Update Ticket in Jira Zap
Begin by creating an empty Zap by clicking Create > Zaps.
Step 1: Set Up the Trigger
- Select 1. Trigger.
- Search for and select Webhooks by Zapier.
- Choose Catch Hook as the event and click Continue.
- Copy the Webhook URL:
- In the Test tab, copy the webhook URL.
- Use Rest Ninja (restninja.io) or Postman to send a POST request to this URL with the following JSON body:
{ "TestName": "test", "TestAction": "update", "TestDescription": "test", "Exception": "test", "Assignee": "test", "Priority": "test", "WebhookResultId": "test", "IssueId": "test", "TestId": "test", "TestType": "test", "Uat": "test", "NotificationId": "test", "Token": "test" }
- Once you have sent the POST request, head back to your Zap and in the "Test" tab press "Test trigger." Then you can see the request that you just made. Select that one, make sure that you see the same parameters as in step 5 above, and then you can continue to the testing step.
Step 2: Update the Issue in Jira
- Click on 2. Action.
- Search for and select Jira Software Cloud.
- Choose Update Issue as the event and click Continue.
- Sign in to your Jira account and set up the required fields to update the issue using the following parameter. Replace the placeholder inside the double curly brackets with the corresponding catch hook parameter:
- Issue Key: {{WebhookResultId}}
- Use the parameters from the catch hook parameters to fill in the fields needed to update the issue:
- Fields to be updated using catch hook parameters (e.g., Description, Summary).
Test the Actions
- Test the Jira update issue action to ensure the ticket is updated successfully.
- Name your Zap (e.g., "Update Jira Ticket"), publish it and turn it on.
3. Close Ticket in Jira Zap
Begin by creating an empty Zap by clicking Create > Zaps.
Step 1: Set Up the Trigger
- Click on Create and select Zap.
- Select 1. Trigger.
- Search for and select Webhooks by Zapier.
- Choose Catch Hook as the event and click Continue.
- Copy the Webhook URL:
- In the Test tab, copy the webhook URL.
- Use Rest Ninja (restninja.io) or Postman to send a POST request to this URL with the following JSON body:
{ "WebhookResultId": "test", "IssueId": "test", "TestId": "test", "TestType": "test", "Uat": "test", "NotificationId": "test", "Token": "test" }
- Once you have sent the POST request, head back to your Zap and in the Test tab press Test trigger. Then you can see the request that you just made. Select that one, make sure that you see the same parameters as in step 5 above, and then you can continue to the testing step.
Step 2: Close the Issue in Jira
- Click on 2. Action.
- Search for and select Jira Software Cloud.
- Choose Update Issue as the event and click Continue.
- Sign in to your Jira account and set up the required fields to update the issue using the following parameter. Replace the placeholder inside the double curly brackets with the corresponding catch hook parameter:
- Issue Key: {{WebhookResultId}}
- Update the state of the issue from "To Do" to "Done." In this demo, the issue is not physically removed, just the status of the issue is updated. This can be done differently if desired, for example, by deleting the issue instead.
Test the Actions
- Test the Jira transition issue action to ensure the ticket is closed successfully.
- Name your Zap (e.g., "Close Jira Ticket"), publish it and turn it on.
Integrating Webhook URLs in Data Quality (DG)
Once you have created the three Zaps (Create, Update, Close) and obtained the webhook URLs, you need to integrate these URLs into Data Quality (DG). For detailed instructions on how to set up webhook integration in Data Quality (DG), please read this article.