dbt Cloud Jobs
Disclaimer
Your use of this download is governed by Stonebranch’s Terms of Use.
Version Information
| Template Name | Extension Name | Version | Status |
|---|---|---|---|
dbt Cloud Jobs | ue-dbt-cloud-jobs | 1 (Current 1.0.1) | Fixes and new Features are introduced. |
Refer to Changelog for version history information.
Overview
dbt Cloud is a scalable data transformation platform that helps data teams build, deploy, monitor, and discover data assets, providing a browser-based UI for developing, testing, scheduling, documenting, and investigating data models. dbt Cloud Jobs are collections of dbt commands executed within a dbt environment that allow users to run transformations on a schedule or trigger, eliminating the need for manual command execution and providing detailed run history, logs, and monitoring capabilities.
Universal Automation Center (UAC) can trigger dbt Cloud jobs by making API requests to the dbt Cloud API endpoint with appropriate authentication, enabling automated execution of your data transformation workflows based on your orchestration requirements.
Key Features
| Feature | Description |
|---|---|
Job Triggering | Trigger and monitor a dbt Cloud Job with the capability to provide optional configuration Job Run settings. |
Job Run Information Streaming | Live stream updates about dbt Job Run and Run steps. |
Tunable Output Options |
|
Requirements
This integration requires a Universal Agent and a Python runtime to execute the Universal Task.
| Area | Details |
|---|---|
Python Version | Requires Python 3.11, Tested with Agent bundled python distribution. |
Universal Agent Compatibility |
|
Universal Controller Compatibility | Universal Controller Version >= 7.6.0.0. |
Network and Connectivity | Connectivity to DBT Cloud Rest APIs is required. |
dbt Cloud | Compatible with dbt Cloud API V2. |
Supported Actions
Action: Run Job
The “Run Job” action provides the following capabilities.
Trigger or Trigger and Monitor a dbt Cloud Job waiting to reach a final state, providing the required input parameters for execution.
Control the information to be displayed on STDOUT, or on EXTENSION Output, to bring visibility on the executed Steps.
Action Output
| Output Type | Description | Examples |
|---|---|---|
EXTENSION | The extension output provides the following information:
| |
STDOUT | Provides useful information depending on the configuration of STDOUT Options (only if Wait For Success Or Failure is checked). | |
STDERR | Shows the logs from the Task Instance execution. The verbosity is controlled by the Task configuration Log Level. |
Configuration Examples
Example: Trigger a dbt Cloud Job
The dbt Cloud Jobs task triggers a dbt Cloud job with the name “sample_job” with no monitoring. The task will end when it triggers the job run on dbt Cloud, and the task will not wait for it to finish. If the Job is triggered successfully, the task instance completes with success, else with failure.
Example: Trigger and Monitor a dbt Cloud Job
The dbt Cloud Jobs task will trigger a dbt Cloud Job with the name “sample_job” with monitoring. All STDOUT and EXTENSION OUTPUT options are selected. The task will remain running until the job run on dbt Cloud reaches a terminal state.
The task will check if the job run has reached a terminal state on each poll interval. Additionally, the task will perform job monitoring on each poll interval and will print the results on the STDOUT. Once the task reaches a terminal state, it will print the Job Summary to STDOUT and include the “Run Steps” information and “Run Results” artifact in the EXTENSION output. Then the task will end with success or failure, depending on the terminal state of the Job Run.
Input Fields
| Name | Type | Description | Version Information |
|---|---|---|---|
Action | Choice | The action performed upon the task execution.
| Introduced in 1.0.0 |
Base URL | Text | The base URL of your service (e.g., | Introduced in 1.0.0 |
dbt Cloud Credentials | Credentials | Credentials for the interaction with dbt Cloud API. The Credential definition should be as follows:
| Introduced in 1.0.0 |
Job Name | Dynamic Choice | Dynamic Choice field for retrieval and selection of the Job to be executed. | Introduced in 1.0.0 |
Reason | Text | A text description of the reason for running the Job | Introduced in 1.0.0 |
Provide Additional Optional Parameters | Choice | Used to select whether Additional Optional Configuration needs to be provided for the Job to Run. The following run configuration options are available
| Introduced in 1.0.0 |
| Optional Parameters | Large Text | Additional Optional Configuration as Text (in JSON format). The following run configuration options are available: The default value is a placeholder value meant to serve as a way to inform the user of what the available options are. It is not meant to be used directly as a default value for an execution of the task. Task authors can use the default value provided as a template; however, it needs to be modified according to their needs. For more information on how it can be filled, consult the dbt Cloud official API documentation. Required when Provide Additional Configuration As = “As JSON Text” | |
Optional Parameters | Script | Provides the same functionality as Additional Configuration (JSON) option with the added benefit of being reusable by saving the configuration as a UAC script. Required when Provide Additional Configuration As = “As JSON UAC Script” | Introduced in 1.0.0 |
Wait For Success Or Failure | Checkbox | When checked, the Task Instance waits until the executed Job reaches a final State. Otherwise, the Task Instance completes when the Job is simply triggered, without waiting to finish. | Introduced in 1.0.0 |
Polling Interval (sec) | Integer | This field is required when Wait For Success Or Failure is checked and represents the time interval between retries for getting the status of the dbt Cloud Job Run. As a best practice, if the Task Execution expected completion duration is long, set the polling Interval to a larger value. A short value will trigger frequent checks towards dbt Cloud, which is inefficient in terms of resources in the case of long-duration Tasks. The default value is 60. | |
STDOUT Options | Multiple Choice | Controls what information is displayed on the STDOUT. Allowed values
Related outputs will be shown on the STDOUT only if Wait For Success Or Failure is checked. | Introduced in 1.0.0 |
Extension Output Options | Multiple Choice | Controls what information is displayed on the Extension Output. Allowed values
Run Results is a dbt Cloud artifact. | Introduced in 1.0.0 |
Output Fields
| Name | Type | Description | Version Information |
|---|---|---|---|
Job Run ID | Text | The Job Run ID of the Triggered Job. | Introduced in 1.0.0. |
Job Run HTTP Link | Text | The dbt Cloud Console HTTP link that shows information on this Job Run. | Introduced in 1.0.0. |
Job Run Status | Text | The last retrieved Job Run Status. | Introduced in 1.0.0. |
Job Run Duration | Text | The last retrieved Job Run Duration in human format. Gets value only if Wait For Success Or Failure is checked. | Introduced in 1.0.0. |
Last Updated On | Text | The last local date and time the agent updated the Output Fields. | Introduced in 1.0.0. |
Environment Variables
Environment Variables can be set from Environment Variables task definition table. The following environment variables can affect the behavior of the extension.
| Environment Variable | Description | Version Information |
|---|---|---|
UE_HTTP_TIMEOUT | Specifies the timeout (in seconds) for HTTP requests made by the Task Instance. A higher value allows for slower responses, while a lower value enforces stricter time constraints. If not set, a default of 60 seconds is used. When a timeout happens, the Task Instance ends in failure. | Introduced in 1.0.0. |
Cancelation and Rerun
In case of cancellation of Task Instance, the Job Run remains intact on dbt Cloud.
In case of re-run of the Task Instance a new Job Run is created.
Exit Codes
| Exit Code | Status | Status Description | Meaning |
|---|---|---|---|
0 | Success | If Wait For Success Or Failure input field is checked,
If Wait For Success Or Failure input field is not checked,
| Successful Execution. If Wait For Success Or Failure input field is checked,
If Wait for Success or Failure input field is not checked,
|
1 | Failure | “Execution Failed: <<Error Description>>” | Failed Execution.
|
2 | Cancelled | “Task instance cancelled successfully” | Cancelled Execution.
|
20 | Failure | “Data Validation Error: <<Error Description>>“ | Input fields validation error. |
STDOUT and STDERR
STDOUT is used for displaying Job information and its controlled by STDOUT Options (only when Wait For Success Or Failure is checked).
STDERR provides additional information to the user, the verbosity of which is controlled by Log Level Task Definition field.
Backwards compatibility is not guaranteed for the content of STDOUT/STDERR and can be changed in future versions without notice
How To
Import Universal Template
To use the Universal Template, you first must perform the following steps.
This Universal Task requires the Resolvable Credentials feature. Check that the Resolvable Credentials Permitted system property has been set to true.
Import the Universal Template into your Controller:
Extract the zip file, you downloaded from the Integration Hub.
In the Controller UI, select Services > Import Integration Template option.
Browse to the “export” folder under the extracted files for the ZIP file (Name of the file will be unv_tmplt_*.zip) and click Import.
When the file is imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.
Modifications of this integration, applied by users or customers, before or after import, might affect the supportability of this integration. For more information refer to Integration Modifications.
Configure Universal Task
For a new Universal Task, create a new task, and enter the required input fields.
Integration Modifications
Modifications applied by users or customers, before or after import, might affect the supportability of this integration. The following modifications are discouraged to retain the support level as applied for this integration.
Python code modifications should not be done.
Template Modifications
General Section
"Name", "Extension", "Variable Prefix", and "Icon" should not be changed.
Universal Template Details Section
"Template Type", "Agent Type", "Send Extension Variables", and "Always Cancel on Force Finish" should not be changed.
Result Processing Defaults Section
Success and Failure Exit codes should not be changed.
Success and Failure Output processing should not be changed.
Fields Restriction Section
The setup of the template does not impose any restrictions. However, concerning the "Exit Code Processing Fields" section.Success/Failure exit codes need to be respected.
In principle, as STDERR and STDOUT outputs can change in follow-up releases of this integration, they should not be considered as a reliable source for determining the success or failure of a task.
Users and customers are encouraged to report defects, or feature requests at Stonebranch Support Desk.
Document References
This document references the following documents:
| Document Link | Description |
|---|---|
User documentation for creating, working with and understanding Universal Templates and Integrations. | |
User documentation for creating Universal Tasks in the Universal Controller user interface. | |
The dbt Cloud API v2 Documentation |
Changelog
ue-dbt-cloud-jobs-1.0.1 (2025-11-07)
Fixed: Issue where job fetching did not support pagination, which could cause incomplete data retrieval for large job sets.
ue-dbt-cloud-jobs-1.0.0 (2025-08-01)
Initial Version