Use this file to discover all available pages before exploring further.
Deployment triggers are configured for your main environment per your QA Wolf contract. Contact your QA Wolf representative before setting this up — a QAE must configure a deployment trigger for your environment before deploy notifications can initiate test runs.
Make sure you have:
Access to your QA Wolf workspace
Admin access to your CircleCI project
At least one QA Wolf environment already configured with a deployment trigger
Create a file at .circleci/notifyQaWolf.mjs in the repository that corresponds to the deployments QA Wolf will be testing.
import assert from "assert";import { makeQaWolfSdk } from "https://esm.sh/@qawolf/ci-sdk@0.23.0";const apiKey = process.env.QAWOLF_API_KEY;assert(apiKey, "QAWOLF_API_KEY is required");const sha = process.env.CIRCLE_SHA1;assert(sha, "CIRCLE_SHA1 is required");const branch = process.env.CIRCLE_BRANCH;assert(branch, "CIRCLE_BRANCH is required");const deployConfig = { branch, // Required only if the target trigger requires matching a deployment type deploymentType: "staging", // e.g., "production", "staging", "qa" // Optional: Include deployment URL to override URL environment variable for the run deploymentUrl: undefined, hostingService: "GitHub", // Set to where your repo is hosted, e.g. "GitHub" or "GitLab" // Optional: Include pull request number for PR testing // pullRequestNumber: 123, // Recommended: Include repository information repository: { name: "your-repo-name", owner: "your-org-name", }, sha,};const { attemptNotifyDeploy } = makeQaWolfSdk({ apiKey });const result = await attemptNotifyDeploy(deployConfig);if (result.outcome !== "success") { // Fail the job. throw Error(`Failed to notify QAWolf: ${JSON.stringify(result)}`);}// result.runId can be output from the job to be used in a CI-greenlight job.
Replace deploymentType with the value your QA Wolf representative provides. Replace name and owner under repository with your actual repository details. Set hostingService to match where your code is hosted — "GitHub" or "GitLab" — not where your pipeline runs.