appstoreconnect-cli icon indicating copy to clipboard operation
appstoreconnect-cli copied to clipboard

Implement sync testflight config command

Open DechengMa opened this issue 5 years ago • 1 comments

Implement Sync TestFlight Configuration Command for syncing local and server TestFlight configs.

Support:
  • [x] Create Group
  • [x] Delete Group
  • [x] Modify Group
  • [x] Add Testers to App
  • [x] Add Testers to Group
  • [x] Remove Testers from App
  • [x] Remove Testers from Group

📝 Summary of Changes

Changes proposed in this pull request:

  • Create TestFlightConfigLoader and TestFlightConfiguration
  • Create BetaGroup and BetaTester in new FileSystem module
  • Create SyncResourceComparator for comparing local and server resources
  • Implement push and pull command.

⚠️ Items of Note

Due to the number of API calls, the pull config from server command will take a considerable amount of time.

Limitations:
  • Can't perform creating a group and adding testers to the group at the same time.

🧐🗒 Reviewer Notes

💁 Example

Usage: asc testflight sync pull [--output-path <output-path>] asc testflight sync push [--input-path <input-path>] [--dry-run] [--refresh-local]

🔨 How To Test

swift run asc testflight sync pull swift run asc testflight sync push --dry-run swift run asc testflight sync push

DechengMa avatar Jul 10 '20 06:07 DechengMa

Regarding the speed of the process, is there any way we could use the ASC API's ability to include sub-resources in requests to create/update? See the WWDC20 video https://developer.apple.com/videos/play/wwdc2020/10004/ from about the 9 minute mark.

orj avatar Jul 22 '20 05:07 orj