Skip to content

fix: update App Store Connect links to point to exact build#156

Merged
HalilSWO merged 8 commits intomainfrom
fix/MPT-17762/update-appstore-connect-links
Feb 17, 2026
Merged

fix: update App Store Connect links to point to exact build#156
HalilSWO merged 8 commits intomainfrom
fix/MPT-17762/update-appstore-connect-links

Conversation

@HalilSWO
Copy link
Collaborator

@HalilSWO HalilSWO commented Feb 17, 2026

Summary

  • After TestFlight upload, queries the App Store Connect API to resolve the exact build UUID
  • Updates the deployment environment URL (build stage box) to link directly to the uploaded build
  • Updates the summary "Check TestFlight" link to point to the specific build instead of the general TestFlight page
  • Falls back to the app-level TestFlight URL if the build isn't found
  • Bumps build number to 5 to match App Store Connect

How it works

  1. Before upload: Snapshots the latest build ID from the App Store Connect API
  2. Upload: Normal xcrun altool --upload-app
  3. After upload: Polls the API comparing against the snapshot — detects the new build the instant it appears, regardless of processing state
  4. Constructs a direct URL: https://appstoreconnect.apple.com/apps/{appId}/testflight/ios/{buildUuid}

Findings from live API testing

We tested against the App Store Connect API using live deployments to understand the timing:

  • Builds go from non-existent to VALID in one step — there is no observable PROCESSING state in the API (it either hasn't been registered yet, or it's already VALID)
  • ~2 minutes between altool upload completing and the build appearing in the API
  • The before/after comparison approach reliably catches the build on first appearance

Observed timeline (deployment run #22094028819):

10:17:03 UTC - altool upload completed
10:17:18 UTC - Attempt 1: pre-upload build still latest
...
10:19:05 UTC - Attempt 8: pre-upload build still latest  
10:19:20 UTC - Attempt 9: Found new build 9c602e26 (version: 6, state: VALID)

Total wait: ~2 minutes after upload.

Polling strategy

Based on the observed ~2 min delay:

  • 90s initial wait (no point polling before that)
  • Then poll every 15s for up to 8 attempts (~2 more minutes)
  • Max total wait: ~3.5 minutes
  • Graceful fallback to general TestFlight URL if not found

URLs verified working

  • Build stage box: https://appstoreconnect.apple.com/apps/6757597333/testflight/ios/9c602e26-9d5e-491a-85ae-bde465a3803d
  • Summary link: same URL, confirmed opening directly to the build in App Store Connect

Test plan

  • Triggered deployment from branch — build URL resolved successfully
  • Verified both the build stage box URL and summary link open the correct build in App Store Connect
  • Verified graceful fallback when API lookup fails (first deployment run)

mbeernut
mbeernut previously approved these changes Feb 17, 2026
GitchalWoo
GitchalWoo previously approved these changes Feb 17, 2026
@HalilSWO HalilSWO dismissed stale reviews from GitchalWoo and Tania-Roche-SWO via 4cb300b February 17, 2026 11:16
@sonarqubecloud
Copy link

@HalilSWO HalilSWO merged commit b275e69 into main Feb 17, 2026
7 checks passed
@HalilSWO HalilSWO deleted the fix/MPT-17762/update-appstore-connect-links branch February 17, 2026 11:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants