bolt.run.completed event is triggered when a Bolt run finishes. This includes runs that have succeeded or failed (check the top-level status field).
The payload carries everything you need to inspect the run: the per-command results, the git context, and the full schedule configuration. It also lets you fetch additional metadata for each command through a pre-populated GraphQL query in these fields:
api_query— a ready-to-run query that returns the raw console logs (stdout/stderr), return code, and resources for a command.resource_query— a ready-to-run query that returns a temporary download URL for a generated resource, for examplerun_results.jsonormanifest.json.
POST to the payload’s api_url with your API credentials. See the GraphQL API for authentication.
Example payload
{
"id": 1234,
"api_url": "https://api.paradime.io/api/v1/abc/graphql",
"commands": [
{
"id": 92363,
"api_query": "query BoltCommand {\n boltCommand(commandId: 92363) {\n command\n startDttm\n endDttm\n stdout\n stderr\n returnCode\n scheduleRunId\n resources {\n id\n path\n }\n }\n}",
"command": "git clone ...",
"end_dttm": "2023-06-06 11:00:14.648628",
"return_code": 0,
"start_dttm": "2023-06-06 11:00:12.621312",
"status": "succeeded",
"json_resources": []
},
{
"id": 92375,
"api_query": "query BoltCommand {\n boltCommand(commandId: 92375) {\n command\n startDttm\n endDttm\n stdout\n stderr\n returnCode\n scheduleRunId\n resources {\n id\n path\n }\n }\n}",
"command": "dbt run",
"end_dttm": "2023-06-06 11:00:44.677818",
"return_code": 0,
"start_dttm": "2023-06-06 11:00:23.246926",
"status": "succeeded",
"json_resources": [
{
"id": 7525717,
"path": "target/manifest.json",
"resource_query": "query BoltResourceUrl {\n boltResourceUrl(resourceId: 7525717) {\n ok\n url\n }\n}"
}
]
}
],
"end_dttm": "2023-06-06 11:00:47.780816",
"environment": {
"actor": "Scheduler",
"branch": "dbt-run",
"commit_hash": "cbe09ae8b090f165e366501d0ccc164ab4019ca2",
"email": null
},
"error_string": null,
"run_url": "https://app.paradime.io/bolt/run_id/1234",
"schedule_url": "https://app.paradime.io/bolt/4a1e7bf2-7756-3d08-aac9-a390f60d8616?workspaceUid=foo",
"schedule": {
"name": "Hourly Run",
"slug": "hourly-run",
"schedule": "@hourly",
"environment": "production",
"commands": ["dbt run"],
"git_branch": "dbt-run",
"owner_email": "fabio@paradime.io",
"description": null,
"notifications": null,
"sla_minutes": null,
"turbo_ci": null,
"deferred_schedule": null,
"hightouch": null,
"env_overrides": null
},
"schedule_name": "Hourly Run",
"slug": "hourly-run",
"start_dttm": "2023-06-06 11:00:12.296501",
"status": "failed",
"uuid": "b922fa9b-ca80-3dbd-8136-7b8be966088d",
"workspace": {
"name": "dbt",
"uid": "foo"
}
}
Fields
| Field | Type | Description |
|---|---|---|
id | integer | The Bolt run ID. |
api_url | string | The GraphQL API endpoint for your workspace. Send the per-command api_query/resource_query here. |
commands | array of Command | The commands executed in the run, each with results and generated resources. |
end_dttm | string | When the run finished (UTC). |
environment | Environment | The git context the run executed against. |
error_string | string | null | The error message if the run failed, otherwise null. |
run_url | string | Link to the run in the Paradime app. |
schedule_url | string | Link to the schedule in the Paradime app. |
schedule | Schedule | The Bolt schedule configuration. |
schedule_name | string | The schedule’s display name. |
slug | string | The schedule’s slug. |
start_dttm | string | When the run started (UTC). |
status | string | The final run status, for example succeeded or failed. |
uuid | string | The run’s UUID. |
workspace | Workspace | The workspace the run belongs to. |
Command
| Field | Type | Description |
|---|---|---|
id | integer | The command ID. |
api_query | string | A ready-to-run GraphQL query for this command’s raw logs, return code, and resources. |
command | string | The command that was run. |
end_dttm | string | When the command finished (UTC). |
return_code | integer | The command’s exit code (0 on success). |
start_dttm | string | When the command started (UTC). |
status | string | The command status, for example succeeded. |
json_resources | array of CommandResource | JSON artifacts directly in target/, for example manifest.json. Files in subfolders, such as target/compiled/, aren’t listed. |
CommandResource
| Field | Type | Description |
|---|---|---|
id | integer | The resource ID. |
path | string | The artifact path, for example target/manifest.json. |
resource_query | string | A ready-to-run GraphQL query that returns a temporary download URL for the resource. |
Environment
| Field | Type | Description |
|---|---|---|
actor | string | Who or what triggered the run, for example Scheduler. Always present. |
branch | string | The git branch. |
commit_hash | string | The git commit the run executed against. |
email | string | null | The email of the user who triggered the run, if applicable. |
Schedule
| Field | Type | Description |
|---|---|---|
name | string | The schedule display name. |
slug | string | The schedule slug. |
schedule | string | The cron expression or interval, for example @hourly. |
environment | string | The Bolt environment, for example production. |
commands | array of string | The schedule’s commands. |
git_branch | string | The git branch the schedule runs on. |
owner_email | string | The schedule owner’s email. |
description | string | null | The schedule description. |
notifications | object | null | Configured email, Slack, and Microsoft Teams notification channels. |
sla_minutes | integer | null | The schedule SLA in minutes. |
turbo_ci | object | null | Turbo CI (deferred) configuration: enabled, deferred_schedule_name, deferred_schedule_slug, defer_environment_slug, and successful_run_only. A schedule that defers to an environment sets defer_environment_slug and leaves the schedule fields empty. |
deferred_schedule | object | null | Deferred schedule configuration, with the same fields as turbo_ci. |
hightouch | object | null | Hightouch sync configuration. |
env_overrides | array of object | null | Environment variable overrides (key/value pairs). |
Workspace
| Field | Type | Description |
|---|---|---|
name | string | The workspace name. |
uid | string | The workspace UID. |