upload_store_listing_graphic
Upload an image AND attach it to a store-listing slot in one call — phone screenshot, feature graphic or app icon. This is what makes a store listing completable from here; upload_screenshot_asset only gets an image into the Asset Library and CANNOT attach it. Play requires at least 2 phone screenshots plus a feature graphic and an icon for a complete listing, so call this once per image. Preserves the listing's existing text and other graphics, and refuses rather than risking a partial overwrite. Give the image ONE of three ways: image_base64 (inline bytes, no hosting needed, 64 KiB cap), image_url (https, any size) or image_path (replay host only).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| language | Yes | BCP-47 language code of the listing to attach into, e.g. en-US. The listing must already have text for this language (update_store_listing creates it). | |
| image_url | No | https URL the replay host fetches the image from — the route for anything over the base64 cap. Must be publicly resolvable (a URL that resolves to a private address is refused). | |
| image_path | No | Absolute path ON THE REPLAY HOST, inside the secops container (repo root = /app). Only usable if you can already put files there — most operators cannot, so prefer image_base64 or image_url. | |
| image_type | Yes | Which slot: "phone_screenshot", "feature_graphic" (must be exactly 1024x500) or "icon" (must be exactly 512x512). | |
| attach_mode | No | For phone_screenshot only: "append" (default) adds alongside existing screenshots, "replace" makes it the only one. Ignored for feature_graphic and icon, which are single-image slots. | |
| play_app_id | Yes | Numeric Play app id from the Play Console URL (.../app/<this>/...). NOT the package name. | |
| developer_id | Yes | Numeric Play Console developer id (from the Play Console URL). | |
| image_base64 | No | The image's bytes as base64 (a data: URI prefix is fine) — the route that needs no file on the replay host and no hosting at all. Capped at 64 KiB of image because CLI steps receive their arguments in one environment variable and Linux caps that at 128 KiB; anything larger must use image_url. A 512x512 icon usually fits, a full-resolution screenshot usually does not. | |
| store_listing_id | No | Numeric store listing id (0 for the main listing). Defaults to 0. | |
| google_account_email | Yes | The signed-in Google account email that owns this Play Console developer account. Call list_accounts first and confirm with the user — do not guess. | |
| notification_message | No | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |