{"record":{"id":"5958c590ed306df2","repo":"remotion-dev/remotion","slug":"json-stringify-deployresult","errorCode":null,"errorMessage":"JSON.stringify(deployResult)","messagePattern":"JSON\\.stringify\\(deployResult\\)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/cloudrun/src/cli/commands/services/deploy.ts","lineNumber":100,"sourceCode":"\t\t\tperformImageVersionValidation: false, // this is already performed above\n\t\t\tmemoryLimit: memoryLimit ?? '2Gi',\n\t\t\tcpuLimit: cpuLimit ?? '1.0',\n\t\t\ttimeoutSeconds: timeoutSeconds ?? DEFAULT_TIMEOUT,\n\t\t\tminInstances: Number(minInstances),\n\t\t\tmaxInstances: Number(maxInstances),\n\t\t\tprojectID,\n\t\t\tregion,\n\t\t\tlogLevel,\n\t\t\tindent: false,\n\t\t\tonlyAllocateCpuDuringRequestProcessing,\n\t\t});\n\n\t\tif (!deployResult.fullName) {\n\t\t\tLog.error(\n\t\t\t\t{indent: false, logLevel},\n\t\t\t\t'full service name not returned from Cloud Run API.',\n\t\t\t);\n\t\t\tthrow new Error(JSON.stringify(deployResult));\n\t\t}\n\n\t\tif (!deployResult.shortName) {\n\t\t\tLog.error(\n\t\t\t\t{indent: false, logLevel},\n\t\t\t\t'short service name not returned from Cloud Run API.',\n\t\t\t);\n\t\t\tthrow new Error(JSON.stringify(deployResult));\n\t\t}\n\n\t\tif (!deployResult.alreadyExists && !deployResult.uri) {\n\t\t\tLog.error(\n\t\t\t\t{indent: false, logLevel},\n\t\t\t\t'service uri not returned from Cloud Run API.',\n\t\t\t);\n\t\t}\n\n\t\tconst consoleUrl = makeConsoleUrl(region, deployResult.shortName);","sourceCodeStart":82,"sourceCodeEnd":118,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/cloudrun/src/cli/commands/services/deploy.ts#L82-L118","documentation":"Thrown by the services deploy CLI command when the deploy API returns a deployResult that lacks a fullName field. The full service name (projects/.../services/...) is required for downstream operations, so its absence indicates a failed or partial deploy response.","triggerScenarios":"deployService() returns an object where deployResult.fullName is falsy. The CLI logs the error and throws the stringified result for diagnostics.","commonSituations":"GCP Cloud Run API returning an error object instead of a service, quota issues, or project not having the Cloud Run API enabled.","solutions":["Ensure the Cloud Run API is enabled: gcloud services enable run.googleapis.com.","Verify project billing and quotas via GCP console.","Re-run the deploy command with --log-level=verbose to capture the full deployResult.","Confirm the service account has Cloud Run Admin role."],"exampleFix":"// no code fix; inspect the logged JSON deployResult for the GCP error\n// run deploy with verbose logging:\n// npx remotion cloudrun services deploy --log-level=verbose","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  await deployService({projectID, region, ...});\n} catch (e) {\n  const result = JSON.parse(e.message);\n  // inspect result for GCP API error details\n  throw e;\n}","preventionTips":["Enable the Cloud Run API and verify billing before deploying.","Run deploys with --log-level=verbose to capture full API responses.","Ensure the deploy service account has roles/run.admin."],"tags":["cloudrun","gcp","deploy","cli","api-error"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}