How do TestGen and DataOps Observability send alerts and issues to Slack, Teams, email, and Jira?

DataOps TestGen sends notifications to email, Slack, Microsoft Teams, and any HTTPS webhook after test runs, profiling runs, monitor anomalies, and score drops. DataOps Observability rules send email or a web request. Neither has a native Jira app: both create Jira work items by posting to a Jira automation rule's incoming webhook, a setup DataKitchen documents step by step.

Key points

  • DataOps TestGen notification destinations are email, Slack through an incoming webhook, Microsoft Teams through the Workflows app, and any HTTPS endpoint as a generic JSON webhook, per TestGen's notifications docs as of October 2026.
  • TestGen notifies after test runs (four triggers, including on new failures and warnings), profiling runs (always, or on new hygiene issues), monitor anomalies, and quality score drops below a Total or CDE threshold.
  • DataOps Observability rules take two actions, send email and send web request, and DataKitchen publishes web request walkthroughs for Slack, Microsoft Teams, and Jira.
  • Both products reach Jira the same way: a Jira automation rule with an incoming webhook trigger creates the work item; neither ships a native Jira integration.
  • DataKitchen documents no PagerDuty integration for TestGen or Observability as of October 2026.

Two products, two alert systems, and they cover different failures. DataOps TestGen alerts on the data: a failed test, a new hygiene issue, a monitor anomaly, a score drop. DataOps Observability alerts on the pipeline: a failed task, a late run, a journey that ran out of order. Send both to the same Slack channel and one person sees the pipeline failure and the bad data it caused.

This page covers the mechanics, which are the same for every database and file source TestGen supports. Where data alerts sit next to Datadog and other app monitoring is in the Datadog answer, and tuning them so people still read them is in the false-positive answer.

Which channels ship

ChannelDataOps TestGenDataOps Observability
EmailEmail destination; needs an SMTP server configuredSend email action
SlackSlack destination, through an incoming webhookWeb request to a Slack incoming webhook (walkthrough)
Microsoft TeamsTeams destination, through the Workflows appWeb request to a Teams webhook (walkthrough)
JiraGeneric webhook to a Jira automation ruleWeb request to a Jira automation rule (walkthrough)
Any other HTTPS endpointGeneric webhook, JSON, optional authorization headerWeb request, your method, payload, and headers
PagerDutyNot documentedNot documented

Sources: TestGen notifications and Observability rules, checked October 2026. Slack, Teams, and webhook destinations arrived in TestGen’s October 14, 2026 release.

One Teams detail. TestGen’s docs use the Workflows app. Observability’s walkthrough uses an incoming webhook connector URL, and Microsoft’s own Teams docs say those connectors are nearing deprecation. The same Microsoft page says Workflows accepts the Message Card format the Observability walkthrough sends, so start new channels on Workflows.

What sets them off

ProductEventTriggers
TestGenTest runAlways; on failures; on failures and warnings; on new failures and warnings
TestGenProfiling runAlways; on new hygiene issues
TestGenMonitorsOn anomalies, per table group, optionally per table
TestGenScore dropTotal or CDE score falls below a threshold you set
ObservabilityTask statusFailed, completed, running, or completed with warnings
ObservabilityRunsRun status, late start, late end, missing, after N in a row
ObservabilityTest outcomes, log matches, instance alertsFailed, warning, or passed tests; log level and regex; out-of-sequence or incomplete instances, datasets not ready

TestGen destinations are set once per project and shared by every rule. Observability rules live on a journey (Define Rules), and task status rules fire only for batch pipeline components.

A failed test to a Jira work item

This one is documented end to end in Create Jira work items. It’s a webhook, not a native integration:

  1. In Jira Cloud, create an automation rule with an Incoming webhook trigger, a condition that {{webhookData.event}} doesn’t equal test, and a Create work item action with Summary set to {{webhookData.summary}}.
  2. Save without enabling, generate the trigger’s secret, then turn the rule on.
  3. In TestGen, add a Generic webhook destination with the Jira URL, header name X-Automation-Webhook-Token, and the secret as its value.
  4. Click Send Test. Jira’s audit log shows a run that stopped at the condition.
  5. Add a test run rule that uses the destination.

Pick the trigger with care. Each notification creates one work item, so a suite that fails every night opens a ticket every night. The docs recommend On new test failures and warnings. A hygiene issue takes the same path through a profiling run rule set to On new hygiene issues. The payload lists up to 20 failures or issues, with a link to the rest.

Observability’s Jira walkthrough does the same for pipelines: when a task fails, a POST to the Jira automation webhook opens a Bug with the project, pipeline, run, and a link back.

Before you rely on it

TestGen refuses webhooks to private and reserved network addresses. A self-hosted chat server needs its host in TG_WEBHOOK_ALLOWED_HOSTS. Deleting a destination deletes every rule that uses it.

A ticket isn’t always the right home for the conversation. TestGen keeps timestamped notes on each test, so the decision to raise a threshold stays with the test. And DataKitchen’s MCP agent post lays out a third route: an agent that reads failures and files tickets only for the ones it shouldn’t fix.

Documentation: TestGen Notifications, Create Jira work items, Observability Rules, Define Rules, Rule Triggers, Web Request, Slack, Teams, and Jira walkthroughs

Frequently asked questions

Short answers to the follow-up questions people ask next.

Does TestGen integrate with Jira?

Through a webhook, not a native app. DataOps TestGen sends a notification to a Generic webhook destination, and a Jira Cloud automation rule with an Incoming webhook trigger creates a work item from it. The TestGen notifications docs give the full setup, including the X-Automation-Webhook-Token header and a condition that ignores TestGen's Send Test message.

Does TestGen or DataOps Observability support PagerDuty?

Not as a documented integration. As of October 2026, DataKitchen documents email, Slack, Microsoft Teams, and Jira for DataOps TestGen and DataOps Observability, and no PagerDuty setup for either. Both send generic web requests, so routing to a paging tool that accepts an incoming webhook is a configuration you build and test yourself.

How do I stop TestGen from opening a Jira ticket on every run?

Use the On new test failures and warnings trigger. DataOps TestGen's notifications docs say each notification creates one Jira work item, so a test suite that fails on every run opens a new work item every run under the Always or On test failures triggers. The new-failures trigger sends only results the previous run didn't have.

Can a TestGen hygiene issue open a Jira ticket?

Yes. A DataOps TestGen profiling run notification with the On new hygiene issues trigger can use the same Jira webhook destination as test failures. Its payload lists up to 20 hygiene issues, each with the issue, likelihood, table, columns, and whether it is new, plus a link back to the full profiling results in TestGen.

Does any data leave my environment when TestGen sends an alert?

No table rows leave. DataOps TestGen runs profiling and tests as read-only SQL inside your database and stores only computed results, such as aggregates, statistics, and test outcomes. A notification carries a summary: names of the test suite, table group, tables, and columns, test types, result messages, counts, and a link back to TestGen. Profiling also stores each column's most frequent values and minimum and maximum text values for display.

Try it on your own data

DataOps TestGen is free and open source. Profile a table and generate its tests this afternoon.