iosbitrise

How to set app version and description when using the “Deploy to App Store Connect with Deliver” step?


I've been trying to create a "deploy" workflow where when run, it will fully publish the build to the App Store. I am very new to CI/CD so I could use some help!

Here's what I've done so far:

workflows:
  publish:
    steps:
    - activate-ssh-key@4:
        run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
    - git-clone@6: {}
    - cache-pull@2: {}
    - certificate-and-profile-installer@1: {}
    - cocoapods-install@2: {}
    - xcode-archive@4:
        inputs:
        - distribution_method: app-store
        - automatic_code_signing: api-key
    - deploy-to-itunesconnect-deliver@2:
        inputs:
        - app_password: "$APPLE_APP_SPECIFIC_PASSWORD"
        - password: "$APPLE_PASSWORD"
        - submit_for_review: 'yes'
        - app_id: "$BITRISE_APPLE_ID"
        - bundle_id: "$BITRISE_APP_BUNDLE_ID"
        - skip_metadata: 'no'
        - itunescon_user: "$APPLE_EMAIL"
    - deploy-to-bitrise-io@2: {}
    - cache-push@2: {}

What I don't know is;

  1. how to set and create the new app version without needing to create it from App Store Connect
  2. how to set the description of the said new version
  3. if everything works out, what exactly happens? does the new version get to a "Waiting for review" state?

Solution

  • Supposing you're talking about Bitrise's step to deploy ipa and pkg files to AppStore Connect. This step is using Fastlane's deliver action under the hood, which reads the metadata from local .txt files found inside the repo itself (see this section on configuring metadata files)

    I see no way to configure the metadata_path on Bitrise's step, which means most likely they're keeping the default value of ./fastlane/metadata.

    So theoretically all you have to do is setting your metadata txt files in your repo (or use fastlane's deliver action to help you setup those folders the first time), and then Bitrise's step should be able to pick those up automatically, given you're already setting - skip_metadata: 'no' on that step.