Key points
- Manual —
POST /v1/run/{pipelineName}from the UI, CLI, or API. - Schedule — a cron or one-time schedule owned by a team path.
- Git event — a GitHub App event or a Git Webhook Source delivery matched against a repository trigger manifest.
- External trigger — an authenticated invocation from another system, with payload mapping and rate limiting.
- Child pipeline — a
pipeline:include started by a parent run. - Rerun — a new run created from an existing run definition and inputs.
How it works
Every entry point produces a normal run with the same authorization, logging, and audit behavior. What differs is who the original caller is and which scope and team path the run inherits.
Scope decides which variables and secrets resolve. Team path decides run ownership and notification lineage; global means no concrete team assignment.
AAA authorizes the original caller for every resource the run references, including the pipeline, the scope, and each selected profile — not just the entry point.
Examples
# manually, in a chosen scope
curl -sX POST "$NOPSAI_URL/v1/run/platform/release-service" \
-H "Authorization: Bearer $NOPSAI_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"scope":"platform/production"}'
# from another system, through an external trigger
curl -sX POST "$NOPSAI_URL/v1/external-triggers/$TRIGGER_ID/invoke" \
-H "Authorization: Bearer $CALLER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"payload":{"channel":"stable"}}'
# on a schedule, run once now without waiting for the next tick
curl -sX POST -H "Authorization: Bearer $NOPSAI_TOKEN" \
"$NOPSAI_URL/v1/schedules/$SCHEDULE_ID/run"Implementation evidence
doc/runtime-flows.mdExecution flow for each entry point.

