Loading...
Loading...
Use this skill to manage the full lifecycle of DevOps Center work items — list, create, update, commit changes, perform status transitions, and create pull requests. Update fields like subject, description, and status. Commit and push code changes to work item branches. Create pull requests for work item branches via DevOps Center API. Invoke when the user wants to track, find, create, or update a work item, commit changes to a work item branch, advance a work item's status through the pipeline, or create a pull request for code review. Consolidates sf devops work-item and review operations. DO NOT TRIGGER for promotion or deployment operations, or conflict detection.
npx skill4agent add forcedotcom/sf-skills dx-devops-work-item-managesf devops project list --json--json--work-item-name--work-item-idsf devops work-item--jsonsf org display --jsonsf org login web --set-default --alias <alias>--target-org <alias>sf devops work-item list --project-id <project-id> --json--project-idsf devops project list --json.result[]namesubjectbranchenvironmentstatusdescription.result[]sf devops work-item list --project-id <id> --json | jq '.result[] | select(.status == "<requested-status>")'sf devops work-item create \
--project-id <project-id> \
--subject "<subject>" \
--description "<description>" \
--json--project-idsf devops project list --json--subject--descriptiongit checkout <branch-name>
git add <files>
git commit -m "<commit-message>"
git push origin <branch-name>branchsf devops work-item update \
--work-item-name <WI-name> \
--subject "<new-subject>" \
--description "<new-description>" \
--status "<In Progress|Ready to Promote>" \
--json--work-item-name <WI-000001>--work-item-id <id>sf devops work-item list --project-id <id> --json | jq -r '.result[] | select(.subject == "<user-provided-subject>") | .name'--subject--description--status.result.name.result.subject.result.status.result.statussf devops review create \
--work-item-name <WI-name> \
--json--work-item-name <WI-000001>--work-item-id <id>sf devops work-item list --project-id <id> --json | jq -r '.result[] | select(.subject == "<user-provided-subject>") | .name'.result.pullRequestUrl.result.status.result.number.result[].result.name.result.branch.result.environmentgit push.result.subject.result.statussf devops work-item list.result.pullRequestUrl.result.status| Constraint | Rationale |
|---|---|
All sf devops commands must use | Structured output is required for headless consumption; human-readable output is unreliable for parsing |
| Work item identifier required for commit, update, and create-review | Use |
| Project ID required for list and create | All work items belong to a project; use |
| At least one update field required | Update command fails if no |
| Status values must be exact strings | "In Progress" and "Ready to Promote" (with spaces, proper capitalization); other values fail |
| Idempotent create operations | Check for existing work item with same subject + project before creating duplicates |
| Changes must be committed before status transition to Ready to Promote | DevOps Center validates that the work item branch has commits before allowing promotion readiness |
| PR creation requires VCS credentials in org | DevOps Center API uses stored VCS credentials; no local git auth needed |
| Never use interactive prompts | Skills run in headless environments; all inputs must be via CLI flags |
| Issue | Resolution |
|---|---|
| No default org set | Run |
| User provides work item by subject, not name | Resolve via: |
| User provides project by name, not ID | First run |
| Status update response missing status field | The CLI doesn't always return the status field in the update response; re-run |
| Work item not found | User provided invalid work item name/ID; run list command to show available work items |
| Invalid status value | Only "In Progress" and "Ready to Promote" are valid (exact strings with spaces); check spelling and capitalization |
| Project not found | User provided invalid project ID; run |
| Duplicate work item subject | Idempotent create check should catch this; return existing work item name instead of creating duplicate |
| Git push fails - no commits or branch not found | Verify files are staged with |
| PR creation fails - VCS credentials | VCS credentials not configured in DevOps Center UI; instruct user to configure in Setup → DevOps Center → VCS Credentials |
sf devops work-itemsf devops review createsf org display --json--json--target-org--project-id--subject--project-idgit addgit commitgit push| File | When to read |
|---|---|
| When you need detailed CLI flag documentation, JSON output schemas, or error handling patterns |
| When the user's request matches a common pattern (bulk updates, reassignment, idempotent creation, sequential transitions) |