New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[spaceship] handle new app status #21890
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Do we need to update any tools to use these statuses?
Some of the observations you made makes me wonder if we should provide high level functions to determinate when an app is remove from sale or the developer membership is expired.
@lacostej Thanks for review.
|
Checklist
bundle exec rspec
from the root directory to see all new and existing tests passbundle exec rubocop -a
to ensure the code style is validci/circleci
builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)Motivation and Context
There are changes in app statuses on Appstore Connect and in OpenAPI spec (https://developer.apple.com/documentation/appstoreconnectapi) as mentioned in https://developer.apple.com/news/releases/?id=02082024e and #21877.
There is a new enum
AppVersionState
forAppStoreVersion
and there is also a new enumState
forAppInfo
.AppStoreVersion
was also enhanced withreviewType
property.Description
After new Appstore Connect API release
AppStoreVersion
has two properties related to state:AppVersionState
andAppStoreState
. SimilarlyAppInfo
hasState
andAppStoreState
.As written in release notes https://developer.apple.com/documentation/appstoreconnectapi/app_store_connect_api_release_notes/app_store_connect_api_3_3_release_notes
There is a change in meaning of statuses https://developer.apple.com/news/releases/?id=02082024e:
Some observations:
DEVELOPER_REMOVED_FROM_SALE
, we will get an AppStoreVersion with attributes:and the only way to see if the app is live or removed is to check available territories using Pricing and Availability list or use
URL: https://appstoreconnect.apple.com/iris/v2/appAvailabilities/<XXXXXXX>?include=territoryAvailabilities&limit[territoryAvailabilities]=200
request (currently not implemented in fastlane)PENDING_CONTRACT
status for released version, we will get an AppStoreVersion with attributes:and when we check in Pricing and Availability, territories are available but with status CANNOT_SELL as in example:
Testing Steps
N/A