google_promote_release
Promote app releases between Google Play tracks (beta to production) with staged rollout control and release notes management.
Instructions
Promote a release from one track to another (e.g. beta → production)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| packageName | Yes | Android package name | |
| editId | Yes | Edit ID | |
| fromTrack | Yes | Source track | |
| toTrack | Yes | Target track | |
| userFraction | No | Staged rollout fraction for production | |
| releaseNotes | No |
Implementation Reference
- src/google/tools.ts:350-364 (handler)Handler function for 'google_promote_release' which retrieves the latest release from the source track and promotes it to the target track.
handler: async (client, args) => { // Get the current release from source track const sourceTrack = await client.getTrack(args.packageName, args.editId, args.fromTrack); const latestRelease = sourceTrack.releases?.[0]; if (!latestRelease) throw new Error(`No release found on ${args.fromTrack} track`); const release: any = { versionCodes: latestRelease.versionCodes, status: args.userFraction ? 'inProgress' : 'completed', }; if (args.userFraction) release.userFraction = args.userFraction; if (args.releaseNotes) release.releaseNotes = args.releaseNotes; return client.updateTrack(args.packageName, args.editId, args.toTrack, [release]); }, - src/google/tools.ts:339-349 (schema)Zod schema defining the input parameters for 'google_promote_release'.
schema: z.object({ packageName: z.string().describe('Android package name'), editId: z.string().describe('Edit ID'), fromTrack: z.enum(['internal', 'alpha', 'beta']).describe('Source track'), toTrack: z.enum(['alpha', 'beta', 'production']).describe('Target track'), userFraction: z.number().optional().describe('Staged rollout fraction for production'), releaseNotes: z.array(z.object({ language: z.string(), text: z.string(), })).optional(), }), - src/google/tools.ts:336-337 (registration)Definition and registration of the 'google_promote_release' tool.
const promoteRelease: ToolDef = { name: 'google_promote_release',