Noodle 0.10.3 adds setup and teardown requests to collection runs. A saved login request can prepare a session before your selected requests run, and a saved logout request can clean up afterward. Configure them once and use the same sequence from the CLI or the TUI Runner, including runs with CSV or JSON data.
Give the run a beginning and an end
Open F4 → Collection → General and choose a Setup request and a
Teardown request, or add their IDs to collection settings.yml:
hooks: setup: auth/login teardown: auth/logoutEither field is optional. Both IDs must refer to existing requests, and they must differ. Setup runs first, followed by your selected main requests in collection order, then teardown. Each stage uses the normal request lifecycle, including inherited scripts and tests. Captures, script writes, and cookies can pass from setup to the main requests and on to teardown.
Targets and tags select the main requests. The configured hooks stay outside
that selection, so a smoke suite can use its login and logout requests without
adding the smoke tag to them or running them twice. If no main requests remain,
no stage sends HTTP. Manual sends and request run keep their existing behavior.
Keep cleanup predictable
If setup fails, Noodle skips the main requests with reason setup-failed and
still attempts teardown. A failed main request also leaves teardown available,
even with Fail-fast enabled. Teardown reports its own result alongside the
earlier failure.
Cancellation has a different purpose: stop the work. Pressing Stop or interrupting a CLI collection run cancels the active operation and starts no further requests, including teardown.
Hook references and script/test sources are checked before HTTP. Saving hook settings validates the referenced requests on disk, and collection audits check them without rewriting request files. The Runner waits for pending collection settings saves. In the TUI, unassign a hook before renaming or deleting its request or deleting a folder that contains it.
Repeat the sequence for each data row
With CSV or JSON iteration data, each row runs its own setup, main requests, and teardown. Those stages share the row’s variables and cookies; the next row starts with a fresh scope and a transient copy of the initial cookie jar. Collection runs keep capture and script writes transient.
Fail-fast still attempts teardown for the started row unless cancelled, then prevents later rows from starting. Hooks count toward progress totals and the 10,000 data-run execution limit.
See which stage produced the result
Runner results and details label setup, main, and teardown. Settled results preserve execution order even when main requests were skipped, and retained session results keep the hook configuration used for that run.
CLI results carry the same stage labels and per-stage summary counts. Existing
collections without hooks keep their result shapes. The maintained
noodle-dev and noodle-use skills now cover the hook lifecycle and its
selection, failure, cancellation, and iteration rules.
Read the Collection Runner guide for the interactive workflow, CLI automation for scripts and results, or the full changelog for the release details.
