create_release
Publish Google Play releases by assigning build version codes to tracks with draft, completed, staged, or halted statuses; use dryRun to validate before publishing.
Instructions
Put build(s) on a track as a release. status: 'draft' (saved, not rolled out), 'completed' (full rollout), 'inProgress' (staged rollout — requires userFraction, e.g. 0.1 = 10%), 'halted'. versionCodes come from upload_bundle / list_bundles. Production releases are gated by PLAY_MCP_ALLOW_PRODUCTION_RELEASE. Set dryRun:true to have Google validate the release without publishing.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"packageName": "<packageName>",
"track": "<track>",
"versionCodes": "<versionCodes>",
"status": "<status>"
},
"name": "create_release"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Release name (defaults to the versionName) | |
| track | Yes | Track name: internal, alpha (closed testing), beta (open testing), production, a custom closed-testing track name, or a form-factor track such as wear:production | |
| dryRun | No | Preview only: open a temporary edit, apply, validate, then delete it. Nothing is published (default false). Ignored when editId is set. | |
| editId | No | Optional: an open edit from insert_edit. The change is applied inside that edit and NOT committed — batch several changes, then call commit_edit. | |
| status | Yes | ||
| packageName | Yes | Application id (package name), e.g. com.example.app | |
| releaseNotes | No | What's new, per language (max 500 chars each) | |
| userFraction | No | Staged rollout fraction, strictly between 0 and 1 (only with inProgress/halted) | |
| versionCodes | Yes | Version codes in this release (include any you want to retain) | |
| countryTargeting | No | { countries: ['US', ...], includeRestOfWorld } — production inProgress releases only | |
| inAppUpdatePriority | No | 0–5 (default 0) | |
| changesNotSentForReview | No | Commit option: keep the changes out of review until sent from Play Console. Google requires this for some apps and rejects it for others — set it only if a commit error asks for it. |