# Test Results Import

Monitor test suite results in ODD Platform without thinking about masking or removing sensitive data — your datasets do not migrate to your ODD Platform installation, the platform gathers test results only.

The platform ingests test results from four canonical paths today, plus a custom-framework escape hatch.

![](/files/Azyw8yGntHWNr8SQrbr5)

## Great Expectations

Push-client integration via [`odd-great-expectations`](/integrations/integrations/odd-great-expectations.md). Add the action to your Great Expectations checkpoint configuration; on each validation run the action emits the validation results into ODD's Ingestion API. Test outcomes surface on the dataset's detail page **Test reports** tab and aggregate into the [Quality Dashboard](/features/data-quality/dashboard.md).

## dbt tests

Push-client integration via [`odd-dbt`](/integrations/integrations/odd-dbt.md). Run `dbt test` (or your normal `dbt build`); the adapter emits the test outcomes into ODD's Ingestion API. The same surface conventions as Great Expectations — per-dataset Test reports tab + dashboard aggregation.

## Statistical profiles via `odd-collector-profiler`

Pull-strategy collector that uses Capital One's [DataProfiler](https://github.com/capitalone/DataProfiler) under the hood. See [`odd-collector-profiler`](/integrations/integrations/odd-collector-profiler.md) for the adapter's per-source coverage. Profile results contribute to the platform's quality signal alongside framework-driven test outcomes — the dashboard renders them as part of the same anomaly-class breakdown.

## Custom frameworks

For frameworks not covered by an existing adapter, push results directly through the `POST /ingestion/entities/datasets/stats` endpoint of the [ODD Specification](/introduction/main-concepts.md#odd-specification). This is the same Ingestion API contract that every other producer uses; you author a small client that maps your framework's outcomes onto ODD's `DataEntityList` schema with `DataQualityTest` and `DataQualityTestRun` entity types. See the specification's [Ingestion API documentation](https://github.com/opendatadiscovery/opendatadiscovery-specification/blob/main/specification/specification.md) for the wire contract.

## Where to next

* [Quality Dashboard](/features/data-quality/dashboard.md) — where ingested test results aggregate into the cross-catalog quality view.
* [Dataset Quality Statuses (SLA)](/features/data-quality/sla-statuses.md) — operator-set Minor / Major / Critical severities on test results, plus the BI-report SLA endpoint.
* [Visibility for Data Quality Engineer](/use-cases/use-cases/dq-visibility.md) — the end-to-end DQ-engineer workflow.
* [Alerting](/features/active-platform-features/alerting.md) — where DQ-test-failed alerts surface and how they route to operators.
* [`odd-great-expectations`](/integrations/integrations/odd-great-expectations.md), [`odd-dbt`](/integrations/integrations/odd-dbt.md), [`odd-collector-profiler`](/integrations/integrations/odd-collector-profiler.md) — the per-integration setup pages.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.opendatadiscovery.org/features/data-quality/test-results-import.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
