iOS · Arazzo Workflow

iOS Create an App Store Version

Version 1.0.0

Create a new App Store version, add its primary localization, and attach a build.

1 workflow 1 source API 1 provider
View Spec View on GitHub iOSAppleMobileApp StorePush NotificationsIn-App PurchasesSubscriptionsAuthenticationWalletDeveloper PlatformArazzoWorkflows

Provider

ios

Workflows

create-app-store-version
Create an App Store version, add a localization, and attach a build.
Creates an App Store version, adds a localized listing, resolves a build by version, and attaches that build to the version.
4 steps inputs: appId, buildVersion, description, locale, platform, versionString, whatsNew outputs: buildId, localizationId, versionId
1
createVersion
appStoreVersions_createInstance
Create the App Store version for the app and platform.
2
addLocalization
appStoreVersionLocalizations_createInstance
Add the localized listing entry carrying the description and "What's New" text for the new version.
3
findBuild
builds_getCollection
Resolve the build to attach by its build number.
4
attachBuild
appStoreVersions_build_updateToOneRelationship
Attach the resolved build to the version via the build relationship. A 204 indicates the relationship was set.

Source API Descriptions

Arazzo Workflow Specification

ios-create-app-store-version-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: iOS Create an App Store Version
  summary: Create a new App Store version, add its primary localization, and attach a build.
  description: >-
    Stands up a new App Store version ready for metadata and build attachment.
    The workflow creates the version for an app and platform, adds a localized
    listing entry carrying the description and "What's New" text, then resolves a
    build by its build number and attaches it to the version. Every step spells
    out its request inline so the flow can be read and executed without opening
    the underlying App Store Connect OpenAPI description. All calls require an App
    Store Connect JWT bearer token.
  version: 1.0.0
sourceDescriptions:
- name: appStoreConnectApi
  url: ../openapi/app-store-connect-openapi.json
  type: openapi
workflows:
- workflowId: create-app-store-version
  summary: Create an App Store version, add a localization, and attach a build.
  description: >-
    Creates an App Store version, adds a localized listing, resolves a build by
    version, and attaches that build to the version.
  inputs:
    type: object
    required:
    - appId
    - platform
    - versionString
    - locale
    - buildVersion
    properties:
      appId:
        type: string
        description: The id of the app to create the version for.
      platform:
        type: string
        description: The platform for the version (e.g. IOS, MAC_OS, TV_OS).
      versionString:
        type: string
        description: The marketing version string (e.g. 2.1.0).
      locale:
        type: string
        description: The locale for the listing localization (e.g. en-US).
      description:
        type: string
        description: The localized app description.
      whatsNew:
        type: string
        description: The localized "What's New in This Version" text.
      buildVersion:
        type: string
        description: The build number (CFBundleVersion) of the build to attach.
  steps:
  - stepId: createVersion
    description: >-
      Create the App Store version for the app and platform.
    operationId: appStoreVersions_createInstance
    requestBody:
      contentType: application/json
      payload:
        data:
          type: appStoreVersions
          attributes:
            platform: $inputs.platform
            versionString: $inputs.versionString
          relationships:
            app:
              data:
                type: apps
                id: $inputs.appId
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      versionId: $response.body#/data/id
  - stepId: addLocalization
    description: >-
      Add the localized listing entry carrying the description and "What's New"
      text for the new version.
    operationId: appStoreVersionLocalizations_createInstance
    requestBody:
      contentType: application/json
      payload:
        data:
          type: appStoreVersionLocalizations
          attributes:
            locale: $inputs.locale
            description: $inputs.description
            whatsNew: $inputs.whatsNew
          relationships:
            appStoreVersion:
              data:
                type: appStoreVersions
                id: $steps.createVersion.outputs.versionId
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      localizationId: $response.body#/data/id
  - stepId: findBuild
    description: >-
      Resolve the build to attach by its build number.
    operationId: builds_getCollection
    parameters:
    - name: filter[app]
      in: query
      value: $inputs.appId
    - name: filter[version]
      in: query
      value: $inputs.buildVersion
    - name: limit
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      buildId: $response.body#/data/0/id
  - stepId: attachBuild
    description: >-
      Attach the resolved build to the version via the build relationship. A 204
      indicates the relationship was set.
    operationId: appStoreVersions_build_updateToOneRelationship
    parameters:
    - name: id
      in: path
      value: $steps.createVersion.outputs.versionId
    requestBody:
      contentType: application/json
      payload:
        data:
          type: builds
          id: $steps.findBuild.outputs.buildId
    successCriteria:
    - condition: $statusCode == 204
  outputs:
    versionId: $steps.createVersion.outputs.versionId
    localizationId: $steps.addLocalization.outputs.localizationId
    buildId: $steps.findBuild.outputs.buildId