We provide the @qawolf/ci-sdk NPM package to handle most of the integration work for you. This page focuses on VCS Branch/PR Testing features provided by this package.

<aside> ⚠️ These features are still experimental and subject to change.

</aside>

<aside> ℹ️ Read Introduction to PR Testing for an introduction to core concepts.

</aside>

<aside> ℹ️ These methods require VCS Branch Testing being enabled for your team. Reach out to a QA Wolf representative if you are interested!

</aside>

The SDK exposes an experimental VCS Branch Testing object:

import { makeQaWolfSdk } from "@qawolf/ci-sdk";

const vcsBranchTestingSdk = makeQaWolfSdk({
  apiKey: "qawolf_xxxxx",
}).experimental_vcsBranchTesting;

The above object contains the following methods:

We can summarize a typical flow as follows:

  1. After each deployment of a build for this VCS Branch, call notifyVCSBranchBuildDeployed;
  2. When the merge is canceled, call notifyVCSBranchMergeCanceled;
  3. When the merge is completed, call notifyVCSBranchMergeCompleted.

The steps 2 and 3 are not optional. This will guarantee ephemeral environments are properly destroyed, and the base environment is updated with workflow changes aligning with the VCS branch changes in case of completed merges.

Notify Build Deployed (notifyVCSBranchBuildDeployed)