Integrate with Alation
Status: shipped (outbound-only) — issue #404. DQ Cloud pushes validation results to Alation as DataQuality health signals. The connector does not read objects back from Alation.
DQ Cloud ships a first-party connector for
Alation that pushes every ValidationResult to
the matching Alation table object as a DataQuality value:
- a pass/fail status (
GOOD/ALERT) Alation colours on the object's health panel, and - a pass-rate score (0–100) Alation charts over time (each emit appends one point to the score history Alation keeps server-side),
- with a description naming the suite and the passed/total counts.
The connector talks to Alation's REST API directly over HTTP — no
Alation SDK dependency in the worker image. It authenticates with
Alation's Token header (not Authorization: Bearer).
Prerequisites
- An Alation instance and its base URL (e.g.
https://alation.example.com), reachable from the worker process. - An API access token with permission to write DataQuality fields.
- The numeric Alation data-source id each DQ Cloud datasource maps onto (Alation's "data source ID mapping").
Configure the integration
Create the catalog_integrations row through the org-admin settings
API (or the Settings → Catalog integrations page):
curl -X POST "$BASE_URL/api/v1/organizations/$ORG_ID/catalog-integrations" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"kind": "alation",
"endpoint": "https://alation.example.com",
"auth_token": "<alation-api-token>"
}'
The auth token is AES-256-GCM-encrypted under the org's DEK before it hits Postgres; the API never returns it back.
Map a DQ Cloud asset to an Alation object
For each asset you want pushed, set the Alation data-source id on the asset's catalog config:
config["catalog"]["alation_datasource_id"]— the numeric Alation data-source id, e.g."7".
DQ Cloud builds the object key as <datasource_id>.<schema>.<table>
from the asset's dotted name (a three-part db.schema.table drops the
database, since the data-source scope already pins it). An asset
missing alation_datasource_id is skipped (a
emit_to_catalog_alation_no_datasource_id log line lands).
What it looks like in Alation
After every ValidationResult commit, the emit_to_catalog ARQ job
PATCHes PATCH /integration/v1/data_quality/ with one DataQuality
value keyed to the table object. The object's health panel shows the
GOOD / ALERT flag, and the pass-rate value joins the score history.
Verify
- In Settings → Catalog integrations, the Alation row shows Enabled.
- On the Alation table object, the data-health panel shows the pass/fail flag and the pass-rate trend after the next checkpoint run.