in src/main/scala/com/gu/appstoreconnectapi/AppStoreConnectApi.scala [59:74]
def getLatestProductionBuilds(token: String, appStoreConnectConfig: AppStoreConnectConfig): Try[List[LiveAppProduction]] = {
val buildsQuery = s"/apps/${appStoreConnectConfig.appleAppId}/appStoreVersions?limit=5&include=build"
val request = new Request.Builder()
.url(s"$appStoreConnectBaseUrl$buildsQuery")
.addHeader("Authorization", s"Bearer $token")
.build
for {
httpResponse <- Try(SharedClient.client.newCall(request).execute)
bodyAsString <- SharedClient.getResponseBodyIfSuccessful("App Store Connect API", httpResponse)
appStoreVersionsResponse <- decode[AppStoreVersionsResponse](bodyAsString).toTry
latestProductionReleases <- combineAppStoreVersionsResponseModels(appStoreVersionsResponse)
} yield {
logger.info(s"The latest production releases are: $latestProductionReleases")
latestProductionReleases
}
}