Setting Up Appcircle Testing Distribution Task in Azure DevOps Pipeline
The Appcircle distribute extension allows users to upload their apps and start distribution to test groups or individuals.
System Requirements
Compatible Azure DevOps Versions:
- Azure DevOps Services (cloud)
- Azure DevOps Server 2020 (on-premises)
- Azure DevOps Server 2022 (on-premises)
Compatible Agents:
Both cloud and self-hosted agents are supported.
- macOS 14 (arm64)
- Ubuntu 22.04 (x86_64)
Setup Appcircle Testing Distribution
Refer to our comprehensive Testing Distribution Docs for detailed information about: Distribution profiles, Testing groups, Binary re-signing, Testing portal, Reporting and more.
How to Get the Appcircle Testing Distribution Extension
Permissions
Before installing the extension, ensure you have the necessary permissions in your Azure DevOps organization. If you don't have permission to add extensions, you'll need to request approval from your organization administrator.
Installation
You can discover more about this extension and install it from here:
For details on how to install the extension, visit the Azure extension installation guide.
When visiting the installation guide, ensure you select the correct version of Azure DevOps from the dropdown menu at the top of the page. The available options include "Azure DevOps Services" and "Azure DevOps Server 2022" etc.
How to Add the Appcircle Testing Distribution Task into Your Pipeline
1. Get a Personal API Token
For this extension to authenticate to your Appcircle, you need to create a Personal API Token, and use it in your task configuration.
You can follow the Generating and Managing Personal API Tokens page to create a PAT.
2. Add Task to Your Pipeline
To install the Appcircle Testing Distribution Extension, follow these steps:
- Go to your pipeline, click "Edit" button on the top right corner.
- Search for the “Appcircle Testing Distribution" task within your
YAML
file. - Fill out the necessary input fields and click the Add button.
3. Configure the Task
After filling out the required fields, the AppcircleTestingDistribution@0
task will appear in your pipeline steps as shown below:
- task: AppcircleTestingDistribution@0
inputs:
personalAPIToken: $(AC_PROFILE_API_TOKEN)
authEndpoint: $(AC_AUTH_ENDPOINT)
apiEndpoint: $(AC_API_ENDPOINT)
profileName: $(AC_PROFILE_NAME)
createProfileIfNotExists: $(AC_CREATE_PROFILE_IF_NOT_EXISTS)
appPath: $(AC_APP_PATH)
message: $(AC_MESSAGE)
-
personalAPIToken
: The Appcircle Personal API token used to authenticate and authorize access to Appcircle services within this extension. -
authEndpoint
(optional): Authentication endpoint URL for self-hosted Appcircle installations. If not specified, uses Appcircle Cloud by default (auth.appcircle.io
). -
apiEndpoint
(optional): API endpoint URL for self-hosted Appcircle installations. If not specified, uses Appcircle Cloud by default (api.appcircle.io
). -
profileName
: Specifies the profile that will be used for uploading the app. -
createProfileIfNotExists
(optional): Ensures that a testing distribution profile is automatically created if it does not already exist; if the profile name already exists, the app will be uploaded to that existing profile instead. -
appPath
: Indicates the file path to the application package that will be uploaded to Appcircle Testing Distribution Profile. The path can be specified in two ways:When Build and Testing Distribution tasks are in the same pipeline: Assuming you are using Testing Distribution task after a build step, you can use the output directory of the build step. For example:
- iOS
$(Build.SourcesDirectory)/output/app.ipa
or./output/app.ipa
- Android
$(Build.SourcesDirectory)/app/build/outputs/apk/release/app-release.apk
or./app/build/outputs/apk/release/app-release.apk
When Testing Distribution task is a separate pipeline: Assuming you have published a build artifact in your build pipeline using
PublishBuildArtifacts
task, you can get the artifact usingDownloadBuildArtifacts
task into a specified directory and use it in the distribution pipeline. For example:$(Build.ArtifactStagingDirectory)/app.ipa
$(Build.ArtifactStagingDirectory)/app.apk
Make sure the path points to a valid application package file.
- iOS
-
message
(optional): Your message to testers, ensuring they receive important updates and information regarding the application.
Ensure that this action is added after build steps have been completed.
If multiple workflows start simultaneously, the order in which versions are shared in the Testing Distribution is determined by the execution order of the publish step. The version that completes its build and triggers the publish plugin first will be shared first, followed by the others in sequence.
Using with Appcircle Self-Hosted
Self-signed Certificates
Adding custom certificates is not currently supported in this extension.
If your self-hosted Appcircle server has self-signed certificates, the Azure DevOps agent that runs the pipeline must trust your Appcircle server's certificates.
Leveraging Environment Variables
Utilize environment variables seamlessly by substituting the parameters with $(VARIABLE_NAME)
in your task inputs. The extension automatically retrieves values from the specified environment variables within your pipeline.
References
-
For details on generating an Appcircle Personel API Token, visit Generating/Managing Personal API Tokens
-
To create or learn more about Appcircle testing and distribution profiles, please refer to Creating or Selecting a Distribution Profile