GitHub Action
Run your saved Agentiqa test plans in CI and gate the job on the result with the agentiqa/qa-action composite action.
The Agentiqa composite GitHub Action runs your saved test plans in CI — nightly,
on a release branch, or on demand — and fails the job per a configurable
exit-code policy. It is a thin, versioned wrapper around the agentiqa run CLI:
it pins the argv, captures the machine-readable JSON envelope, always uploads
artifacts, and gates on the outcome so those details don't drift per-repo.
The public action is agentiqa/qa-action@v1.
Quickstart
- Mint a service key — Project Settings → CLI Service Keys → Create Key (see
CLI Service Keys). Copy the
sk_...value; it is shown once. - Add it as a repository secret named
AGENTIQA_SERVICE_KEY. - Add a workflow:
name: Agentiqa QA
on:
workflow_dispatch:
jobs:
qa:
runs-on: ubuntu-latest
steps:
- uses: agentiqa/qa-action@v1
with:
service-key: ${{ secrets.AGENTIQA_SERVICE_KEY }}That runs all plans in the key's project on Agentiqa Cloud and fails the job on a plan failure or a config error. The full input/output list is on the generated Action reference.
Selecting which plans run
By default the action runs every plan in the key's project. Two inputs narrow the selection, mirroring the CLI:
plan-id— run a single plan by id (tplan_…).label-ids— comma-separated label ids (lbl_…); runs every plan tagged with any of them.plan-idoverrideslabel-ids.
mode picks the execution order for the selected plans — sequential
(default) or parallel. Parallel mode uses the CLI's bounded worker pool, with
up to four plans at a time by default and each plan in its own browser. A
transient engine disconnect is retried per plan on a fresh session, up to three
attempts total. Run dependent plan chains sequentially because parallel plans
do not share run memory (see
parallel vs. sequential).
# Run just the plans labeled `smoke`, in parallel — e.g. a fast PR gate.
- uses: agentiqa/qa-action@v1
with:
service-key: ${{ secrets.AGENTIQA_SERVICE_KEY }}
label-ids: lbl_2b7f0e
mode: parallelThe quickest way to get the exact label-ids value is the app's Run from CLI
dialog — tick the labels and copy the ids. See Labels.
Gating and outputs
fail-on decides which outcomes fail the job — never, plan-failure (default),
or any (release gate). The action exposes outcome, exit-code,
plans-total/passed/failed, and the path to the JSON envelope as step outputs.
The exit-code contract and the envelope schema are documented in
CI Integration; every input and output is on the
Action reference.
Prefer the action over hand-rolled steps
The raw npx agentiqa command still works anywhere (see CI Integration),
but the action pins the argv, the JSON capture, the artifact upload, and the
exit-code gating so they don't drift.