Shipfox
Reference

Workflow contexts

Look up every context a workflow can read, the properties it holds, and the fields that can read it.

A context is a group of run data that an expression can read. See Expressions for the syntax.

Available contexts

ContextHolds
workflowThe workflow definition this run came from.
runThe current run.
triggerThe trigger that started the run.
eventThe raw payload of the event that started the run.
inputsValues the trigger with block passed into the run.
jobThe current job.
executionsEvery execution of the current job.
executionThe current execution of the job.
jobsUpstream jobs, keyed by job key.
needsThe jobs this job declares in needs.
stepsEarlier steps of the current job, keyed by step key.
stepThe current step. Its properties depend on the field that reads it.
varsWorkspace and project variables.
secretsWorkspace and project secrets.

Context availability

Different contexts exist at different points in a run, so each field can read only some of them. A trigger filter runs before Shipfox creates a run, so it reads only event and trigger. A gate runs after its step reports, so it reads step and vars.

Workflow keyAvailable contexts
triggers.<trigger_id>.filterevent, trigger
jobs.<job_id>.listening.on[*].filterevent, workflow, run, trigger, inputs, vars, job, jobs
jobs.<job_id>.listening.until[*].filterevent, workflow, run, trigger, inputs, vars, job, jobs
jobs.<job_id>.ifworkflow, run, trigger, event, inputs, vars, jobs, needs
jobs.<job_id>.steps[*].ifvars, jobs, execution, step, steps
jobs.<job_id>.steps[*].gate.successstep, vars
jobs.<job_id>.successexecutions, jobs, vars
jobs.<job_id>.steps[*].runworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars, secrets
env.<name>workflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars, secrets
jobs.<job_id>.steps[*].promptworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].modelworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].providerworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].thinkingworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.runnerworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.outputs.<name>workflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
run_nameworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.execution_nameworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].nameworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].working_directoryworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].checkout.projectworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].checkout.connectionworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].checkout.repositoryworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].checkout.refworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].checkout.pathworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars
jobs.<job_id>.steps[*].gate.on_failure.feedbackworkflow, run, trigger, event, inputs, job, executions, execution, jobs, needs, steps, step, vars

A field cannot read the value it sets. For example, run_name cannot read run.name.

Reading a context the table does not list for the field fails the sync, with an error that names the context. The workflow never runs with an empty value in its place. See Correct a context that is not available.

Context properties

workflow

The workflow definition this run came from.

PropertyTypeDescription
workflow.idstringIdentifier of the workflow definition.
workflow.namestringWorkflow name from the definition.

run

The current run.

PropertyTypeDescription
run.idstringIdentifier of the run.
run.numberintSequential run number within the workflow definition.
run.namestringResolved run name, or the workflow name when run_name is not set.
run.project_idstringIdentifier of the project that owns the run.
run.workspace_idstringIdentifier of the workspace that owns the run.
run.created_attimestampTime the run was created.

trigger

The trigger that started the run.

PropertyTypeDescription
trigger.sourcestringIntegration connection slug, or manual or cron.
trigger.eventstringShipfox event name that matched the trigger.
trigger.projectobjectShipfox project resolved from the event repository. Null when there is none.
trigger.project.idstringIdentifier of the resolved project.
trigger.repositorystringRepository the event came from, as owner/name. Null when there is none.
trigger.refstringGit ref the event carried. Null when there is none.
trigger.commitstringCommit SHA the event carried. Null when there is none.

event

The raw payload of the event that started the run.

The provider owns this payload, so it has no fixed shape. Each provider page under Integrations lists the events Shipfox delivers and links the payload each one carries.

inputs

Values the trigger with block passed into the run.

The keys are the ones the trigger declares. See trigger fields.

job

The current job.

PropertyTypeDescription
job.keystringKey of the job in the jobs map.
job.namestringJob name, or the job key when no name is set.

executions

Every execution of the current job.

PropertyTypeDescription
executions[*].indexintPosition of the execution in its job, starting at zero.
executions[*].namestringResolved execution name, or the job name when execution_name is not set.
executions[*].statusstringFinal status of the execution.
executions[*].started_attimestampTime the execution started.
executions[*].finished_attimestampTime the execution finished.
executions[*].eventslist<object>Listener events in the batch that started this execution. Empty for a standard job.
executions[*].events[*].sourcestringIntegration connection slug that delivered the event.
executions[*].events[*].eventstringShipfox event name.
executions[*].events[*].delivery_idstringIdentifier of the provider delivery.
executions[*].events[*].received_attimestampTime Shipfox received the event.
executions[*].events[*].projectobjectShipfox project resolved from the event repository. Null when there is none.
executions[*].events[*].project.idstringIdentifier of the resolved project.
executions[*].events[*].repositorystringRepository the event came from, as owner/name. Null when there is none.
executions[*].events[*].refstringGit ref the event carried. Null when there is none.
executions[*].events[*].commitstringCommit SHA the event carried. Null when there is none.
executions[*].events[*].dataobjectRaw event payload. The provider owns its shape.
executions[*].outputsmapOutputs the execution produced, keyed by output name.

execution

The current execution of the job.

PropertyTypeDescription
execution.indexintPosition of the execution in its job, starting at zero.
execution.namestringResolved execution name, or the job name when execution_name is not set.
execution.statusstringFinal status of the execution.
execution.started_attimestampTime the execution started.
execution.finished_attimestampTime the execution finished.
execution.eventslist<object>Listener events in the batch that started this execution. Empty for a standard job.
execution.events[*].sourcestringIntegration connection slug that delivered the event.
execution.events[*].eventstringShipfox event name.
execution.events[*].delivery_idstringIdentifier of the provider delivery.
execution.events[*].received_attimestampTime Shipfox received the event.
execution.events[*].projectobjectShipfox project resolved from the event repository. Null when there is none.
execution.events[*].project.idstringIdentifier of the resolved project.
execution.events[*].repositorystringRepository the event came from, as owner/name. Null when there is none.
execution.events[*].refstringGit ref the event carried. Null when there is none.
execution.events[*].commitstringCommit SHA the event carried. Null when there is none.
execution.events[*].dataobjectRaw event payload. The provider owns its shape.
execution.outputsmapOutputs the execution produced, keyed by output name.
execution.failedboolWhether an earlier step in this execution failed.

jobs

Upstream jobs, keyed by job key.

The keys are the job keys the workflow declares.

PropertyTypeDescription
jobs.<job_key>.keystringKey of the job in the jobs map.
jobs.<job_key>.statusstringFinal status of the job.
jobs.<job_key>.outputsmapDeclared job outputs, keyed by output name.
jobs.<job_key>.executionslist<object>Executions of the job, each with the properties of the execution context. A standard job has one.

needs

The jobs this job declares in needs.

PropertyTypeDescription
needs[*].keystringKey of the job in the jobs map.
needs[*].statusstringFinal status of the job.
needs[*].outputsmapDeclared job outputs, keyed by output name.
needs[*].executionslist<object>Executions of the job, each with the properties of the execution context. A standard job has one.

steps

Earlier steps of the current job, keyed by step key.

The keys are the step keys the workflow declares.

PropertyTypeDescription
steps.<step_key>.statusstringFinal status of the step.
steps.<step_key>.exit_codeintExit code of the most recent finished attempt.
steps.<step_key>.outputsmapDeclared step outputs of the most recent finished attempt.
steps.<step_key>.responsestringFinal agent response. Absent on a run step.
steps.<step_key>.gateobjectGate result of the most recent finished attempt. Absent when the step has no gate.
steps.<step_key>.gate.passedboolWhether the gate expression passed.
steps.<step_key>.gate.sourcestringGate expression that produced the result.
steps.<step_key>.gate.reasonstringWhy Shipfox could not check the gate.
steps.<step_key>.gate.exit_codeintExit code the gate read.
steps.<step_key>.attemptslist<object>Every finished attempt of the step, oldest first.
steps.<step_key>.attempts[*].statusstringFinal status of the attempt.
steps.<step_key>.attempts[*].exit_codeintExit code the attempt reported.
steps.<step_key>.attempts[*].outputsmapDeclared outputs the attempt reported.
steps.<step_key>.attempts[*].responsestringFinal agent response of the attempt. Absent on a run step.
steps.<step_key>.attempts[*].gateobjectGate result of the attempt. Absent when the step has no gate.
steps.<step_key>.attempts[*].gate.passedboolWhether the gate expression passed.
steps.<step_key>.attempts[*].gate.sourcestringGate expression that produced the result.
steps.<step_key>.attempts[*].gate.reasonstringWhy Shipfox could not check the gate.
steps.<step_key>.attempts[*].gate.exit_codeintExit code the gate read.

step

The current step. Its properties depend on the field that reads it.

PropertyTypeDescription
step.attemptintAttempt number of the step, starting at one. Not readable in gate.success.
step.is_retryboolWhether this is a repeat attempt. Not readable in gate.success.
step.restartobjectSet when a gate restarted this step. Not readable in gate.success.
step.restart.fromobjectThe step whose gate restarted this attempt, with the properties of a steps entry. Not readable in gate.success.
step.restart.feedbackstringFeedback the restarting gate produced. Not readable in gate.success.
step.exit_codeintExit code the step reported. Readable in gate.success only.
step.statusstringStatus the step reported. Readable in gate.success only.
step.outputsmapOutputs the step reported. Readable in gate.success only.

vars

Workspace and project variables.

The keys are the variable names the workspace defines. See Secrets and variables.

secrets

Workspace and project secrets.

The keys are the secret names the workspace defines. See Secrets and variables.

Was this page helpful?
Edit this page on GitHub

On this page