Repository navigation
feat(deployments): add the deployments resource (list, get, create, rollback, cancel) - #256
SakshiKoli-CS wants to merge 11 commits into
Conversation
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ Vulnerabilities Without Available Fixes (Informational Only)The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:
✅ BUILD PASSED - All security checks passed |
Adds the DEPLOYMENT UID label, git fields hidden for FileUpload, an environment variable count, generic not-found wording and --deployment. Also bumps express and overrides body-parser and csv-parse so the pre-commit Snyk gate passes. #claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
…d commit picker Covers the GitHub and FileUpload redeploy matrix, --commit [hash] with a picker over the environment commits, --last-upload and --data-dir, and waits on the deployment with a Ctrl-C stop that leaves it running. #claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
Fetches the deployment first, then goes through the shared confirm gate before sending the rollback. --reason is sent only when it is not blank. #claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
Cancel is a bodyless POST behind the shared confirm gate. Its not-allowed refusal, by code or by the raw 400 message, gets readable wording. #claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
dbe480f to
af4ad7b
Compare
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ Vulnerabilities Without Available Fixes (Informational Only)The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:
✅ BUILD PASSED - All security checks passed |
…get output and add deployment pickers Create and rollback bodies no longer carry environment (the server DTOs reject it), --deployment is validated as 24 hex, get shows one-line commit messages without BUILD LOGS, a null deployment reads as not found, and rollback and cancel offer a picker. #claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
#claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
#claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
The merged flag refuses a malformed uid at parse time so no request is sent; blank values still read as absent and surrounding spaces are trimmed. #claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ Vulnerabilities Without Available Fixes (Informational Only)The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:
✅ BUILD PASSED - All security checks passed |
…ormal tone Reword every user-facing message of the deployments commands and the shared upload and deployment-failure wording, drop the log-read notice, and report a malformed --deployment without oclif's parse prefix. #claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
#claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
#claude_code# 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Harshi Shah <harshi.shah@contentstack.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ Vulnerabilities Without Available Fixes (Informational Only)The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:
✅ BUILD PASSED - All security checks passed |
Jira: https://contentstack.atlassian.net/browse/CL-7170
What
Adds the V2 Deployments resource to
launch-cli:launch:deployments:list/:get—DEPLOYMENT UIDlabel, all 8 statuses, env vars as a count, no git fields for FileUpload, generic not-found wording (exit 2).launch:deployments:create— full TRD §4.8.2 redeploy matrix (exact body or exact error per cell),--last-uploadmakes no signed-URL call, wait/stream to LIVE/FAILED, Ctrl-C leaves the deployment running (exit 3).--commitpicker overGET .../environments/:e/commits; no TTY → exit 2 naming--commit <sha>.launch:deployments:rollback/:cancel— confirm-gated (--yes, decline exit 3, no TTY exit 2); the mutation is never sent on a refusal.Decisions
CANCEL_NOT_ALLOWED; the CLI words both the code and that message.v2-dev(list/get, create + picker, rollback, cancel), each with its own tests; the dependency bump is in the first commit.Known gaps
docs/launch-cli-manual-tests).getprints alaunch:logs:gethint; the API has no build-logs URL field.QA: the Launch QA agent tests CL-7170 in the repos once it is in QA; GoCD sanity covers dev11.
https://claude.ai/code/session_01V7Va7MQaPSfh5ua9RABfHr
Generated by Claude Code