managing-suite-assignments
Manages all forms of test suite assignment for DevOps Center pipeline stages via the Connect API testSuiteStages endpoint. Covers three modes: (A) attaching a single suite to a stage as a one-off add, (B) bulk-mapping multiple suites to a stage as a testing strategy with a mandatory impact-preview table before any changes, and (C) adding or removing individual test classes within a suite assignment with governance rules that exclude rejected tests and re-present the final list before committing. TRIGGER when: a suite is found unlinked from a pipeline stage and the user wants to assign it; the user wants to configure suite-to-stage mappings across a pipeline or assign multiple suites to stages as part of a testing strategy; the user wants to add or remove tests in a suite, sync reviewed tests into a suite, or promote tests to a suite. DO NOT TRIGGER when: authoring new test classes (use generating-apex-test) or running tests directly (use running-apex-tests).
How do I install this agent skill?
npx skills add https://github.com/forcedotcom/sf-skills --skill managing-suite-assignmentsIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill manages Salesforce DevOps Center test suite assignments using official Salesforce CLI tools and APIs. It implements mandatory confirmation gates and impact previews before executing any changes, ensuring human-in-the-loop oversight.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Managing Suite Assignments
Prerequisites
Load checking-devops-prerequisites first — Prerequisites 1–4 AND Prerequisite 5 (stage). You need doce-org-alias, pipelineId, and stageId before proceeding in any mode.
| Variable | Description |
|---|---|
doce-org-alias | Established in Prerequisite 1 |
pipelineId | Identified in Prerequisite 4 (pipeline selection) |
stageId | Identified in Prerequisite 5 (stage selection) |
event | Pre-Promote, Post-Promote, or Review |
Mode A — Assign a single suite to a stage
Use this mode when a relevant test suite already exists but is not yet linked to a pipeline stage and the user wants to add it as a single one-off assignment.
Additional inputs required:
| Variable | Description |
|---|---|
testSuiteId | ID of the suite to assign |
testSuiteName | Name of the suite (for display in confirmation) |
Confirmation gate
Confirmation required before any API call is made.
Present the following prompt to the user and wait for an affirmative response:
"The suite
<testSuiteName>is not currently assigned to the<stageName>stage (<event>). Would you like me to assign it now?"
Do not proceed until the user confirms.
On success
Report to the user:
"Suite
<testSuiteName>has been assigned to the<stageName>stage (<event>)."
Mode B — Map multiple suites to a stage
Use this mode when configuring suite-to-stage mappings across a pipeline or assigning multiple suites to stages as part of a testing strategy.
Additional inputs required:
| Input | Description |
|---|---|
testSuiteOperations | List of {testSuiteId, action: "add"|"remove"} |
MANDATORY IMPACT PREVIEW — Required Before Any Changes
Do not call the API until the user has confirmed the preview below.
Present the full mapping summary and wait for explicit confirmation:
"Here's the suite mapping I'll apply:
Suite Stage Event Action <suiteName><stageName><event>Add <suiteName2><stageName><event>Remove Confirm to apply all changes?"
Only proceed after the user explicitly confirms.
On success
"Suite mapping applied.
<N>suite(s) updated for the<stageName>stage."
Mode C — Add/remove test classes in a suite
Use this mode when the user wants to add or remove individual test classes within an existing suite assignment, sync reviewed tests into a suite, or promote tests to a suite.
Additional inputs required:
| Input | Source |
|---|---|
testSuiteOperations | List of {testSuiteId, action: "add"|"remove"} |
Governance rules
- Never call this without explicit approval. AI-reviewed or modified tests must be re-presented to the user before this call is made.
- Rejected tests must be EXCLUDED from the payload — do not include them even if they were previously in the suite.
- If tests were modified during review, re-present the final list of tests before requesting confirmation.
Confirmation gate
REQUIRED — do not skip. Show the user the full list of changes before calling:
"I'm about to sync the following changes to the test suite:
- Add:
<testSuiteName1>,<testSuiteName2>- Remove:
<testSuiteName3>- Stage:
<stageName>| Event:<event>Confirm?"
Only proceed after receiving explicit confirmation.
On success
Confirm to the user:
"Test suite updated successfully for the
<stageName>stage."
The system call
All three modes use the same endpoint. Substitute all <placeholder> values before executing.
sf api request rest "/services/data/v67.0/connect/devopstesting/pipeline/<pipelineId>/testSuiteStages" --method POST --body '{"pipelineStageId":"<stageId>","event":"<event>","assignments":[{"testSuiteId":"<id>","action":"add|remove"}]}' --target-org <doce-org-alias>
Full payload schema:
{
"pipelineStageId": "<stageId>",
"event": "<event>",
"assignments": [
{"testSuiteId": "<suiteId1>", "action": "add"},
{"testSuiteId": "<suiteId2>", "action": "remove"}
]
}
Error handling
Never expose raw API error messages to the user. Map response status codes to the following user-facing messages:
| Status | User-facing message |
|---|---|
| 400 | "The request was invalid. Check that all suite and stage IDs are correct and the event type is valid." |
| 403 | "You don't have permission to modify suite assignments on this pipeline." |
| 404 | "The pipeline or stage was not found." |
| 500 | "A server error occurred. Try again in a few minutes." |
Related skills
syncing-test-providers— use when the suite you want to assign doesn't appear yet; re-syncing the provider pulls in newly added suites.recommending-devops-tests— use when a suite has not yet been identified and you need a recommendation for which suite to assign.configuring-quality-gate— use to configure a quality gate on the stage after mapping suites.analyzing-test-failures— use for failure analysis and suggested improvements to the tests within a suite.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/forcedotcom/sf-skills/managing-suite-assignments">View managing-suite-assignments on skillZs</a>