App Store Connect API последняя загруженная версия сборки и номер - PullRequest
3 голосов
/ 29 мая 2019

Я настраиваю развертывание приложения CI / CD для загрузки сборок в TestFlight / AppStore, поэтому перед сборкой необходимо проверить версию ранее загруженной сборки из App Store Connect

Требуется сгенерированный токен JWTдля аутентификации с помощью App Store Connect API и получения идентификатора приложения от: https://api.appstoreconnect.apple.com/v1/apps

И теперь я запрашиваю сборки, связанные с этим идентификатором приложения, используя: https://api.appstoreconnect.apple.com/v1/apps/{id}/builds

, что дает мне этот ответ(данные ответа разбиты на страницы (смещение / лимит) и не сортируются по загруженной версии сборки): -

{
    "data": [
        {
            "type": "preReleaseVersions",
            "id": "<resource id>",
            "attributes": {
                "version": "1.3",
                "platform": "IOS"
            },
            <some additional trees>
        },
        {
            "type": "preReleaseVersions",
            "id": "<resource id>",
            "attributes": {
                "version": "1.4",
                "platform": "IOS"
            },
            <some additional trees>
        },
        {
            "type": "preReleaseVersions",
            "id": "<resource id>",
            "attributes": {
                "version": "1.2",
                "platform": "IOS"
            },
            <some additional trees>
        },
        <some more data...>
    ],
    "meta": {
        "paging": {
            "total": 55,
            "limit": 50
        }
    }
}

Требуется какой-либо параметр строки запроса или другой API или подход, из которогоЯ могу получить последнюю версию сборки без необходимости рекурсивного вызова API для получения всех загруженных версий, а затем для нахождения наибольшего из массива

1 Ответ

0 голосов
/ 26 июля 2019

Вы можете ограничить свой поиск, проверив сборки, загруженные для определенного preleaseVersion:

params = { 'filter[version]' => short_bundle_version }

GET https://api.appstoreconnect.apple.com/v1/preReleaseVersions

Это вернет вам метаданные, содержащие URL-адреса для сборок, связанных с этой версией. Затем вы можете извлечь соответствующие URL сборки:

json['relationships']['builds']['links']['related']['data'],

И затем запросите связанный JSON для URL-адреса, который будет содержать идентификатор сборки и его uploadDate.

...