
DevOps Test Suite Runner
OfficialFreeExecute and monitor DevOps test suites seamlessly.
Free · Opens the source repo
What DevOps Test Suite Runner does
The DevOps Test Suite Runner skill is designed to facilitate the execution of test suites within a DevOps Center pipeline. It triggers test suite executions based on user-defined parameters and monitors their progress until completion. This skill is particularly useful for developers and DevOps engineers who need to ensure that their code changes meet quality standards before promotion to production. It integrates with Salesforce's Connect API to manage test executions, providing a structured workflow for testing phases such as Pre-Promote, Post-Promote, or Review events.
To use this skill, users must provide specific inputs, including pipeline and stage identifiers, the event type, and the test suite IDs. The skill begins by confirming these details with the user before proceeding to execute the tests. Once the execution is initiated, it polls the execution status using a unique runId, providing real-time updates on the test results, coverage, and any failures encountered during the process. This ensures that users are kept informed about the status of their tests without needing to manually check the Salesforce org.
In addition to executing tests, the skill also supports retriggering quality gates after addressing any issues that caused a previous failure. This feature is essential for maintaining high code quality and ensuring that all necessary tests are run after fixes have been applied. The skill is built to handle various scenarios, including successful test runs, failures, and errors, providing clear feedback and instructions for each situation.
Overall, the DevOps Test Suite Runner skill streamlines the testing process in Salesforce environments, making it easier for teams to maintain code quality and facilitate smoother deployments. It is an essential tool for any team leveraging Salesforce's DevOps capabilities, particularly in environments where continuous integration and delivery are critical.
When to use it
Use this skill when you need to run test suites on a specific pipeline stage or re-run quality gates after fixing failures.
When not to use it
This skill is not suitable for directly running Apex tests or configuring new gates or thresholds; use the appropriate skills for those tasks.
What you can build with it
Running Tests Before Promotion
Trigger test suites before promoting code to ensure all quality checks pass.
Monitoring In-Progress Test Runs
Keep track of test execution status in real-time until completion.
Retriggering Quality Gates
Re-run quality gates after addressing issues to unblock promotions.
How to install DevOps Test Suite Runner
View source1. Install with the skills CLI
npx skills add forcedotcom/sf-skills/dx-devops-test-suite-run --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by forcedotcomRun a DevOps Center Test Suite
Triggers a DevOps Center test suite execution and watches it to completion. Running and polling are two halves of one operation — never poll without first having (or being handed) a runId.
API version: All DevOps testing system calls target Salesforce API v67.0 (minimum required).
Important: All DevOps Center data lives in the Salesforce org — NOT the local repo. Always query the org with sf data query or sf api request rest.
Prerequisites
Run the prerequisite checks in references/prerequisite-checks.md — Prerequisites 1–4 and Prerequisite 5 (stage), since this skill operates on a specific stage. You need the confirmed doce-org-alias, pipelineId, and stageId.
Inputs required
| Input | How to obtain |
|---|---|
pipelineId | Prerequisite 4 (pipeline selection) |
stageId | Prerequisite 5 (pipeline stage confirmation) |
event | Confirm with user: Pre-Promote, Post-Promote, or Review |
testSuiteIds | Confirmed suite IDs from selection or recommendation |
doce-org-alias | Prerequisite 1 |
Step 1 — Trigger execution
Confirmation gate
This call mutates org state — do not proceed without explicit user confirmation. Before calling the API, show:
"I'm about to run tests with the following configuration:
- Pipeline:
<pipelineName>- Stage:
<stageName>- Event:
<event>- Suite(s):
<suiteName(s)>- Org:
<doce-org-alias>Shall I proceed?"
Do not make the API call until the user confirms.
API call
sf api request rest \
"/services/data/v67.0/connect/devopstesting/pipeline/<pipelineId>/stage/execute" \
--method POST \
--body '{
"stageId": "<stageId>",
"event": "<event>",
"testSuiteIds": ["<suiteId1>", "<suiteId2>"]
}' \
--target-org <doce-org-alias>
| Field | Type | Description |
|---|---|---|
stageId | string | The ID of the pipeline stage to execute tests on |
event | string | Pre-Promote, Post-Promote, or Review |
testSuiteIds | string[] | One or more test suite IDs to execute |
On success
Extract the runId (execution ID) from the response. Inform the user:
"Tests are running in
<doce-org-alias>. I'll update you when results are ready."
Then proceed immediately to Step 2 (polling) with the runId.
On error
See references/error-handling.md. If the org rejects execution (e.g. environmentId: null, or classIdList is null or empty — no tests to execute), read the actual error, explain the root cause and required fix in plain language, and finish cleanly. Do not retry in a loop and do not fabricate a runId or results.
Step 2 — Poll until completion
Confirmation required: No — polling is automatic and read-only.
Poll the execution record by runId at the provider-appropriate interval. Full intervals, timeout behavior, and the poll query are in references/polling-configuration.md.
Summary of the loop (the runId is a DevopsTestSuiteExecution Id — poll that object, not DevopsTestExecution):
- Query
DevopsTestSuiteExecutionbyrunIdeach interval forStatus, Coverage, SuccessCount, FailureCount, QualityGateStatus. InProgress→ wait and poll again.Passed/Failed→ surfaceCoverage,SuccessCount,FailureCount, andQualityGateStatusinline (no raw JSON). IfFailureCount > 0, fetch the childDevopsTestExecutionfailure rows and hand off todx-devops-test-failures-analyze.Error→ the run itself errored (not test failures); surfaceResultDetails/Messagein plain language and offer retry or skip.- Timeout → surface the
runId, do NOT auto-retry, wait for user instruction.
Retrigger mode (re-running a quality gate)
Use when a promotion was blocked by a gate failure and the coverage gap has since been addressed. All preconditions, gate, and the retrigger API call are in references/retrigger-mode.md. Key rule: do not retrigger unless the latest Coverage meets or exceeds the DevopsQualityGateRule threshold. After the retrigger returns a new runId, hand it to Step 2 (polling).
Related skills
dx-devops-test-failures-analyze— receives the failure payload on completion; can also create a fix work item.dx-devops-test-suite-assignments-configure— recommend which suites to run, or assign a suite to the stage if it isn't linked yet.dx-devops-test-pipeline-configure— configure a new quality gate or threshold (this skill only re-runs existing gates).
Frequently asked questions about DevOps Test Suite Runner
Similar skills
Turborepo
Optimized build system for JavaScript/TypeScript monorepos.
Azure Pipelines Validation
Streamline your Azure DevOps pipeline changes locally.
Azure Developer CLI
Streamline your Azure project workflows with best practices.
Azure Container Registry CLI
Manage Azure Container Registry resources with ease.
Aspire
Build and orchestrate polyglot distributed applications seamlessly.
Vercel CLI
Manage and deploy Vercel projects from the command line.
