Skip to main content
@qawolf/ci-sdk provides a TypeScript SDK (CJS and ESM compatible) for interacting with the QA Wolf API from your CI pipeline.

Installation

Requires Node.js 18 or later.

makeQaWolfSdk

The entry point for all SDK functions. Pass your QAWOLF_API_KEY to initialize.
SDK functions do not throw. They return a result object with an outcome field. Always inspect the outcome to determine whether your CI step should pass or fail.

attemptNotifyDeploy

Notifies QA Wolf of a successful deployment, which starts a test run if one is configured. See webhooks/deploy_success for the underlying endpoint.

DeployConfig fields

Result fields

A run is only created if there is a matching trigger in your QA Wolf configuration. outcome: "success" means the notification was accepted, not that a run was created. Check runId to know whether a run was created.

pollCiGreenlightStatus

Polls the CI greenlight endpoint until the run completes and returns whether it is safe to release.

Options

Result fields

Advanced: makePollCiGreenlightStatusIterator

An async generator for fine-grained control over the polling lifecycle. Use this when you need custom early-exit logic — for example, proceeding after a time limit or when bug counts are within an acceptable threshold.
Each iteration yields either a status update or an abort notification:
Handle all run stages in your switch statement. The default: status.runStage satisfies never pattern provides compile-time safety — TypeScript will error if a new stage is added and your code doesn’t handle it.

notifyTerminatedEphemeralEnvironment

Notifies QA Wolf that an ephemeral environment has been terminated. Stops all runs targeting the environment and triggers flow promotion. See webhooks/environment_terminated for the underlying endpoint.

Input fields

Pass one of the following to identify the environment:

Result fields

generateSignedUrlForRunInputsExecutablesStorage

Generates a signed URL for uploading a run input executable (APK, AAB, IPA, ZIP, CSV, PDF) to QA Wolf. See v0/run-inputs-executables-signed-urls for the underlying endpoint.

Input fields

Response fields

Versioning

This package follows SemVer. Notes:
  • Use the ^ range operator — patch and minor updates will not introduce breaking changes.
  • Major version bumps indicate a breaking API change. QA Wolf will give advance notice.
  • Only top-level exports are covered by SemVer.
  • New fields in API response types are not considered breaking changes.
Last modified on June 29, 2026