Area: Ingestion Issues
Sub-Area: dbt Cloud Ingestion / Assertions
Issue
After manually triggering a dbt ingestion source in DataHub, assertions (dbt tests) for specific models do not appear — showing 0 assertions — even though those tests are defined in dbt and are executing successfully. Other models in the same presentation layer display assertions correctly. This discrepancy occurs when an environment has multiple dbt Cloud ingestion sources configured in DataHub, and the models whose tests are missing belong to a dbt Cloud job that is tracked by a different ingestion source than the one being triggered.
Error Messages
0 assertions found for model <model_name>
You Might Be Asking
- Why do some dbt models show assertions in DataHub but others do not, even though all tests are defined in the same dbt project?
- Why did manually triggering my dbt ingestion source not bring in assertions for certain models?
- How can I tell which dbt Cloud ingestion source is responsible for a specific model's test results?
Solution
-
Identify all dbt ingestion sources configured in DataHub.
Navigate to Settings > Ingestion and review every dbt or dbt Cloud source. Note which dbt Cloud job ID each source is configured to read from.
-
Determine which ingestion source covers the affected models' tests.
Cross-reference the dbt Cloud job(s) that execute tests for the models showing 0 assertions against the job IDs referenced in each DataHub ingestion source. The models' tests are likely being run under a dbt Cloud job that is tracked by a secondary ingestion source — not the primary scheduled one.
Example ingestion source recipe snippet showing the job reference:
source: type: dbt-cloud config: token: "<your-dbt-cloud-api-token>" account_id: "<your-dbt-cloud-account-id>" job_id: "<your-dbt-cloud-job-id>" # Confirm this matches the job running the tests project_id: "<your-dbt-cloud-project-id>" -
Manually trigger the correct ingestion source.
On the Ingestion page, locate the source that references the dbt Cloud job containing the tests for the affected models. Click Run to trigger it manually. After the run completes, navigate to the affected models in DataHub and confirm that assertions are now visible.
-
Resolve the root cause to prevent recurrence. Choose one of the following long-term fixes:
- Option A — Schedule the secondary ingestion source: Add a schedule to the ingestion source that covers the missing tests so it runs automatically on a regular cadence, consistent with your primary source.
- Option B — Consolidate dbt Cloud jobs: Move the tests for the affected models into the dbt Cloud job already tracked by your primary, scheduled DataHub ingestion source, eliminating the need for a separate source.
Additional Notes
This issue is especially common in environments where dbt Cloud workloads have been split across multiple jobs (for example, by domain, layer, or team), and each job has a corresponding DataHub ingestion source with its own schedule — or no schedule at all. Any ingestion source that is never triggered (or only triggered manually on an ad hoc basis) will result in stale or missing assertion data for the models it covers. It is best practice to ensure every dbt Cloud ingestion source that tracks test-producing jobs has a consistent, automated schedule aligned with the frequency of the underlying dbt runs.
Related Documentation
- dbt Cloud Ingestion Source — DataHub Docs
- Assertions in DataHub
- UI-Based Ingestion — Scheduling and Managing Sources
Tags: dbt, dbt-cloud, assertions, ingestion, missing-assertions, dbt-tests, ingestion-source, scheduling, data-quality, multi-source