Skip to content
Proud to collaborate with Microsoft for Startups

spad.manual-deployment ​

Executes a full deployment of a SPAD site using a generic runner

Executes a full deployment of a SPAD site.

Input fields: site_id, organization_id, deployment_id, source_type (optional), source_ref (optional), commit_sha (optional)

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-spad
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
site_uuidstringYes—SpadSite UUID to deploy
deployment_uuidstringYes—SpadDeployment UUID created for this run
organization_uuidstringNo—Organization UUID that owns the site
source_typestringNo—Source type override (e.g. 'branch', 'tag', 'commit')
source_refstringNo—Branch/tag/ref override
commit_shastringNo—Specific commit SHA to build

Output Schema ​

FieldTypeRequiredDefaultDescription
deployment_uuidstringYes—SpadDeployment UUID that was deployed
site_uuidstringYes—Site UUID that was deployed
organization_uuidstringNo—Organization UUID that owns the site
site_namestringNo—Site display name
slugstringNo—Site slug
source_typestringNo—Resolved source type used for the build ('branch'/'tag'/'commit')
source_refstringNo—Resolved source ref used for the build
commit_shastringNo—Commit SHA that was built
branchstringNo—Branch name when source_type=='branch'
code_sourcestringNo—'github' or 'gitlab' depending on the repo source
build_config_uuidstringNo—SpadBuildConfig UUID used for this build
node_versionstringNo—Node.js version used for the build
output_directorystringNo—Build output directory that was uploaded
commandstringNo—Build command that was executed
environmentdictNo—Build environment variables (non-secret snapshot)
cloud_connection_uuidstringNo—AWS/GCP CloudConnection UUID used for the build target
s3_bucket_namestringNo—Origin bucket the artifact was uploaded to
cloudfront_distribution_refstringNo—CloudFront distribution id fronting the site
cloudfront_domainstringNo—Edge domain (CloudFront / equivalent) fronting the site
deployment_target_uuidstringNo—deploy.target-dispatch target UUID for the site
deployment_strategystringNo—Strategy used for the rollout (e.g. 'backend-immediate')
runner_group_uuidstringNo—Runner group UUID the build ran in
runner_execution_uuidstringNo—RunnerExecution UUID on the build runner
runner_execution_workflow_uuidstringNo—Workflow id of the runner execution
ecs_task_arnstringNo—ECS task ARN that executed the build (AWS path)
gce_vm_namestringNo—GCE VM name that executed the build (GCP path)
vm_namestringNo—Alias for gce_vm_name when applicable
log_group_namestringNo—CloudWatch log group name for the build (AWS path)
log_stream_namestringNo—CloudWatch log stream name for the build (AWS path)
log_sync_providerstringNo—Provider that produced log_stream output
build_stageslistNo—Build stage progress records
build_succeededbooleanNo—True once the build stage completed successfully
build_failedbooleanNo—True when the build stage failed (failure path only)
monitor_outcomestringNo—Outcome recorded by the build monitor
poll_countintegerNo—Number of build polls executed
release_uuidstringNo—DeploymentRelease UUID created from the build artifact
release_artifact_uristringNo—Build artifact URI (S3/GCS path)
rollout_uuidstringNo—Rollout UUID created for this deployment
rollout_workflow_uuidstringNo—Rollout workflow id started for this deployment
rollout_statusstringNo—Last-observed rollout status
rollout_workflow_statusstringNo—Last-observed status of the rollout workflow
rollout_workflow_terminalbooleanNo—True once the rollout workflow reached a terminal state
rollout_outcomestringNo—Final rollout outcome ('succeeded' / 'failed')
rollout_poll_countintegerNo—Number of rollout polls executed
deploy_urlstringNo—Public URL the deployment is reachable at
is_productionbooleanNo—True once the deployment is marked as the current production deployment
duration_secondsintegerNo—Total deployment duration in seconds
initiated_atstringYes—ISO8601 timestamp when the workflow was initiated
prepared_atstringNo—ISO8601 timestamp when prepare_build completed
token_obtained_atstringNo—ISO8601 timestamp when the source provider token was obtained
build_launched_atstringNo—ISO8601 timestamp when the build was launched
monitoring_started_atstringNo—ISO8601 timestamp when build monitoring started
build_completed_atstringNo—ISO8601 timestamp when the build completed
rollout_started_atstringNo—ISO8601 timestamp when the rollout was started
completed_atstringNo—ISO8601 timestamp when the workflow reached COMPLETED
failed_atstringNo—ISO8601 timestamp when the workflow reached FAILED
failed_at_statestringNo—State the workflow was in when it transitioned to FAILED
failure_reasonstringNo—Reason recorded on the failure path
errorstringNo—Engine-stamped failure metadata
error_typestringNo—Engine-stamped failure metadata
failed_layerjsonNo—Engine-stamped failure metadata
failed_stepjsonNo—Engine-stamped failure metadata
github_repository_uuidstringNo—State data written by workflow action
gitlab_project_uuidstringNo—State data written by workflow action

States ​

StateInitialTerminalSuccessAuto-advanceDescription
initiatedYesNo—prepare_buildManual deployment request accepted
getting_tokenNoNo—launch_buildAcquire source provider access token
launching_buildNoNo—monitor_buildStart build runner execution
monitoringNoNo——Monitor build progress and outcome
preparingNoNo—get_github_tokenLoad build/deployment configuration
rolling_outNoNo——Monitor rollout workflow until terminal status
starting_rolloutNoNo—start_rolloutCreate and start rollout workflow
completedNoYesYes—Manual deployment completed successfully
failedNoYesNo—Manual deployment failed

State Diagram ​

Transitions ​

FromActionToDescription
initiatedprepare_buildpreparingPreparing build environment
preparingget_github_tokengetting_tokenGetting GitHub token
getting_tokenlaunch_buildlaunching_buildLaunching build
launching_buildmonitor_buildmonitoringMonitoring build
monitoringpoll_buildmonitoringPolling build status
monitoringbuild_succeededstarting_rolloutBuild published release
monitoringbuild_failedfailedBuild failed
starting_rolloutstart_rolloutrolling_outStarting rollout
rolling_outpoll_rolloutrolling_outPolling rollout status
monitoringprepare_buildmonitoringIgnore stale prepare_build
starting_rolloutprepare_buildstarting_rolloutIgnore stale prepare_build
rolling_outprepare_buildrolling_outIgnore stale prepare_build
monitoringget_github_tokenmonitoringIgnore stale get_github_token
starting_rolloutget_github_tokenstarting_rolloutIgnore stale get_github_token
rolling_outget_github_tokenrolling_outIgnore stale get_github_token
monitoringlaunch_buildmonitoringIgnore stale launch_build
starting_rolloutlaunch_buildstarting_rolloutIgnore stale launch_build
rolling_outlaunch_buildrolling_outIgnore stale launch_build
starting_rolloutmonitor_buildstarting_rolloutIgnore stale monitor_build
rolling_outmonitor_buildrolling_outIgnore stale monitor_build
rolling_outstart_rolloutrolling_outIgnore stale start_rollout
rolling_outcompletecompletedDeployment completed
rolling_outfailfailedRollout failed
* (any state)failfailedDeployment failed

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "spad.manual-deployment",
  "initial_data": {
    "site_uuid": "value",
    "deployment_uuid": "value"
  }
}