Set a task’s self-reported state and submit files for review — both mutations, and both plan-then-confirm.

Setting a task’s state

tasks set writes one of three self-reported states: These are the only states you set directly. Every other status a task can have — ready_for_feedback, redo, complete, discuss, and the rest listed in Units and tasks — is set by OnTrack itself, in response to a submission or a tutor’s decision. Full syntax: ontrack tasks set.

Submitting files

--file takes one path per upload requirement the task defines, in the order the task lists them — not alphabetical, not the order you type them if it differs from the task’s own order. Passing the wrong count fails immediately:
Each file must be a real, non-empty, non-symlinked file no larger than 100 MiB, and the total across all files must stay under 100 MiB too. ontrack re-checks each file’s size and modification time right after reading it and rejects the submission if anything changed mid-read. Other options:
  • --type <type> — ready_for_feedback (default), need_help, or assess_in_portfolio.
  • --comment <text> — up to 4095 characters, attached to the submission.
  • --accept-tii-eula — accept the Turnitin end-user agreement where the task requires it.
Full syntax: ontrack tasks submit.

The plan, then the confirmation

Both commands are mutations: they print what they’re about to do, then wait for you to say yes. See Mutations for the shared model; here’s what it looks like for each. tasks set shows a one-line summary:
tasks submit shows every file with its requirement, type and size, and whether the Turnitin EULA was accepted:
At an interactive terminal, answering y runs the mutation; anything else cancels it. Skip the prompt with --yes, or preview without sending anything with --dry-run:
Running this from a script or CI job? See OnTrack CLI for scripts and agents for how --yes/--dry-run behave with no terminal attached.