Skip to content
Proud to collaborate with Microsoft for Startups

ticket.git-work.begin ​

Bind a ticket to one local repository worktree and full branch ref.

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-tickets
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuidstringYes——
ticket_uuidstringYes——
repository_uuidstringYes——
executor_uuidstringNo—Opaque owner UUID; supply with worktree_uuid for pre-bound work.
worktree_uuidstringNo—Opaque local worktree identity; supply with executor_uuid.
runner_group_uuidstringNo—Active cloudless DevKit group that will atomically claim ownerless planned work. Omit for pre-bound Phase 1 work.
branch_refstringNo—Full refs/heads/* ref. Omit to derive a collision-proof ref from the policy prefix, the ticket, and this work's own uuid -- a leftover branch from a previous attempt then cannot collide on a runner's cached clone.
target_refstringNo—Full Git ref this work merges back into. Omit to derive the repository's default_branch_ref, checked against the active policy's allowed_target_refs -- a runner refuses an assignment that names no target.
base_oidstringNo—Git object id this work forks from. Omit only when this pipeline is the sole writer of the target: the value is then derived from the newest merge this ledger recorded on it. If nothing has merged there yet, claim-protocol work is refused rather than forked from the base a previous run was handed -- that value is an echo of this control plane's own guess, and a runner rejects the assignment with a base-drift blocker once the target moves. Resolve the provider head and pass it.
head_oidstringNo—Git object id already on branch_ref when resuming work; not derived.
extrajsonNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
workdictNo——
createdbooleanNo——
organization_uuidstringNo—Input field preserved in workflow state.
ticket_uuidstringNo—Input field preserved in workflow state.
repository_uuidstringNo—Input field preserved in workflow state.
executor_uuidstringNo—Input field preserved in workflow state.
worktree_uuidstringNo—Input field preserved in workflow state.
runner_group_uuidstringNo—Input field preserved in workflow state.
branch_refstringNo—Input field preserved in workflow state.
target_refstringNo—Input field preserved in workflow state.
base_oidstringNo—Input field preserved in workflow state.
head_oidstringNo—Input field preserved in workflow state.
extrajsonNo—Input field preserved in workflow state.
failed_atstringNo—ISO-8601 timestamp when action_fail recorded the failure
failure_reasonstringNo—Human-readable failure reason from action_fail
failure_typestringNo—Engine-stamped failure category
failed_actionstringNo—Engine-stamped action that raised
failed_at_statestringNo—Engine-stamped state when the workflow failed
failed_stepstringNo—Engine-stamped step name (DAG path)
failed_layerstringNo—Engine-stamped layer index (DAG path)
errorstringNo—Engine-stamped exception message
error_typestringNo—Engine-stamped exception class name

States ​

StateInitialTerminalSuccessAuto-advanceDescription
initiatedYesNo—executeAccepted
executingNoNo—completeApplying the mutation
completedNoYesYes—Done
failedNoYesNo—Failed

State Diagram ​

Transitions ​

FromActionToDescription
initiatedexecuteexecutingRun the mutation
executingcompletecompletedFinalize
* (any state)failfailedCatch-all failure

API Usage ​

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

{
  "workflow_type": "ticket.git-work.begin",
  "initial_data": {
    "organization_uuid": "value",
    "ticket_uuid": "value",
    "repository_uuid": "value"
  }
}