Repository navigation
Add typed JSON output to app deploy - #8816
isaacroldan wants to merge 17 commits into
Conversation
|
/snapit |
|
🫰✨ Thanks @isaacroldan! Your snapshot has been published to npm. Built from Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20261007114720Caution After installing, validate the version by running |
|
/snapit |
|
🫰✨ Thanks @isaacroldan! Your snapshot has been published to npm. Built from Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20261007121118Caution After installing, validate the version by running |
4683822 to
ed70d5d
Compare
|
/snapit |
|
🫰✨ Thanks @isaacroldan! Your snapshot has been published to npm. Built from Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20261007133853Caution After installing, validate the version by running |
|
/snapit |
|
🫰✨ Thanks @isaacroldan! Your snapshot has been published to npm. Built from Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20261007140351Caution After installing, validate the version by running |
5a62644 to
b9b9dad
Compare
85020cb to
b4c2608
Compare
b4c2608 to
dfc107b
Compare
9c22cec to
f3b58aa
Compare
|
/snapit |
|
🫰✨ Thanks @isaacroldan! Your snapshot has been published to npm. Built from Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20261009105838Caution After installing, validate the version by running |
|
/snapit |
|
🫰✨ Thanks @isaacroldan! Your snapshot has been published to npm. Built from Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20261009161200Caution After installing, validate the version by running |
|
/snapit |
|
🫰✨ Thanks @isaacroldan! Your snapshot has been published to npm. Built from Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20261009172349Caution After installing, validate the version by running |
WHY are these changes introduced?
Let scripts read deployment outcomes. Related to #23668.
WHAT is this pull request doing?
Add
--jsonoutput for the app, created version, and release state. A declined confirmation returnscancelled. A failed release retains the created version aspartialand exits nonzero. Transport failures use the shared fatal error document because the remote release state is unknown.Treat a null release response as a failed release. Text output then reports
New version created, but not released.No additional API request is made.Text:
New version created.JSON:
{"status":"success","app":{"name":"Example","clientId":"client-id"},"deployment":{"released":false,"version":{"gid":"gid://shopify/Version/123","name":"v1","message":null,"url":"https://dev.shopify.com/dashboard/1/apps/1/versions/123"}}}Depends on #8857 for shared success diagnostics. This PR's diff and changeset cover
app deployonly.How to manually test your changes?
Use a disposable linked app.
shopify app deploy --path <app> --no-release --version json-review --json --no-input > deploy.json 2> events.jsonl. Check one result with the created version andreleased: false.--json, using--version text-review. Check the existing message and release instructions.--json --no-input --no-release. Expect one error object and a nonzero exit. Runshopify app deploy --json-schemato inspect the contract.Validation
134 focused deploy tests, 19 JSON lint-rule tests, and 10 postrun tests passed. Scoped lint, app/CLI type checks and builds, Knip, and generated command checks passed. Compiled CLI probes passed for schema discovery and the missing-path error. Deployment calls were stubbed; no remote app was deployed.
Checklist