Repository navigation
ios metadata pull and push: App Store listing in the fastlane deliver layout - #34
Open
Interlap01 wants to merge 5 commits into
Open
Interlap01 wants to merge 5 commits into
Interlap01 wants to merge 5 commits into
Conversation
appStoreVersionLocalizations and appInfoLocalizations as attribute maps, appInfos with their categories, and the appScreenshotSets / appScreenshots flow: reserve, PUT the upload operations, commit with the MD5 checksum, poll assetDeliveryState.
…yout Pull writes metadata/<locale>/<field>.txt, the category files and, on request, screenshots/<locale>/<DISPLAY_TYPE>/. NewPlan validates lengths, URLs, categories and screenshot sizes locally, then diffs against the editable version and app info; Apply writes only the differences, creating a missing version and replanning against the localizations App Store Connect copied into it.
push prints a Will line per difference and needs --yes (--dry-run prints only); pull never deletes local files without --clean; screenshots are opt-in with --screenshots on both.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
builder ios metadata pullandbuilder ios metadata pushsync the App Store listing with files, from any platform, on the existing ASC client.release_notes), promotional text, marketing/support URL (appStoreVersionLocalizations); name, subtitle, privacy URL (appInfoLocalizations); primary/secondary category (appInfos relationships); screenshots per display type (appScreenshotSets / appScreenshots).metadata/<locale>/<field>.txt,metadata/{primary,secondary}_category.txt,screenshots/<locale>/. Each screenshot's display type comes from its pixel size, or from a<DISPLAY_TYPE>/subfolder (mapping table in the README).--metadata-dirand--screenshots-dirset the directories.--version X.Ypicks a version, and push creates it if it doesn't exist, then re-plans against the localizations App Store Connect copied into it. The app is found withresolveApp(--bundle-id,--ipa,ios.bundleId, newest dist IPA).Will ...line per difference and needs--yes(--dry-runonly prints). Screenshots are compared by MD5 and only pushed with--screenshots. By default missing ones are appended;--replace-screenshotsdeletes and re-uploads a set that differs. Upload: reserve, PUT the upload operations, PATCHuploadedwithsourceFileChecksum, pollassetDeliveryState.--clean. Screenshots download only with--screenshots. A pulled tree pushes back as an empty plan.--jsonon both, like the other asc commands. Exposed aspkg/metadata, plus aliases inpkg/asc.Why
Roadmap item 12: manage store metadata without a Mac, a browser or fastlane, and let existing fastlane users migrate in place.
How tested
internal/asc: screenshot reserve/upload/commit/poll flow, failed delivery, image URL template, localization and category requests (null secondary category).internal/metadata: tested against a stateful fake ASC server. Covers local validation with no requests made, the diff/plan text and the minimal PATCH bodies, creating a new locale (and requiringname.txtfor it), creating a version and re-planning, refusing a locked version, screenshot upload/append/replace and the set limit, pixel-size inference, and pull with and without--clean/--screenshotsplus the round trip.cmd/builder: pull → edit → push without--yes/--dry-run --json/--yes, and local validation failing before any write.go test -race ./...,golangci-lintv2.12.2 (CI version): 0 issues. No live App Store Connect calls.Left out
Copyright, review information, age rating, subcategories, app previews (video), reordering screenshots within a set, and fastlane's
default/locale fallback.