Skip to main content

Reserved Variables in Appcircle

Here is a list of pre-defined environment variables in Appcircle.

These reserved environment variables are either predetermined by Appcircle or are set in the build configuration.

You can check how these environment variables are utilized within the related workflow step. For instance, you can set the Xcode version of a build profile through the build configuration, which will then set this value as the AC_XCODE_VERSION environment variable.

You can then use this variable in any workflow step and this variable will be assigned as the default input value of the Xcode Select workflow step. This assignment is editable, meaning that you can either choose to keep it in the same way it is configured or you can change it by specifying a value directly in the step settings or assigning a different environment variable.

For more information on the inputs of the steps and how the variables in the following steps are used, please refer to the documentation of the specific step that is available at https://github.com/appcircleio

iOS & Android common environment variables

VariableDescription
AC_OUTPUT_DIROutput folder path to upload artifacts
AC_TEMP_DIRPath to temp directory
AC_ENV_FILE_PATHPath to the environment file
AC_REPOSITORY_DIRClone repository destination
AC_PROJECT_PATHProject path (For Android, gradlew file path. For iOS, .xcodeproj or .xcworkspace file path)
AC_APPCIRCLESet to true when Appcircle starts a build
AC_METADATA_OUTPUT_PATHMetadata output file path
AC_GIT_URLGit URL of the repository
AC_GIT_COMMITThe Git commit that is built
AC_COMMIT_MESSAGECommit message
AC_COMMIT_AUTHOR_EMAILThe email of the author of the commit.
AC_COMMIT_AUTHOR_NAMEThe name of the author of the commit.
AC_COMMIT_AUTHOR_SUBJECTThe subject of the commit.
AC_TAG_AUTHOR_EMAILThe email of the author of the tag.
AC_TAG_ANNOTATED_MESSAGEThe annotated message of the tag.
AC_COMMIT_TAGSCommit tags
AC_BUILD_NUMBERBuild number (Fetch Details is counted as Build)
AC_BUILD_TIMESTAMPBuild timestamp (Unix timestamp format)
AC_GIT_BRANCHThe Git branch that is built (eg: master)
AC_GIT_TARGET_COMMITTarget commit for a Pull or Merge Request
AC_GIT_TARGET_BRANCHTarget branch for a Pull or Merge Request
AC_GIT_PRSet to true if the workflow started for a Pull or Merge Request
AC_PULL_NUMBERPull or Merge Request Number
AC_PROVIDER_NAMEGit Provider Github,GithubApp,Gitlab,GitlabSelfHosted,Bitbucket,BitbucketServer
AC_IS_SUCCESSSet to true if the previous step was successful
AC_LOGFILEBuild log path
AC_TEST_RESULT_PATHTest Result Path
AC_WORKFLOW_IDWorkflow UUID
AC_WORKFLOW_NAMEWorkflow Name
AC_PLATFORM_TYPEPlatform Type ObjectiveCSwift, JavaKotlin, ReactNative, Flutter
AC_PURPOSEPurpose of the Workflow
Metadata = 0
Build = 1
StoreSubmit = 2
Merge = 3
TagBuild = 4
AC_TRIGGER_REASONThe trigger reason that causes the building to start. Values it can take: User, Commit, Tag, PullRequest

Android specific environment variables

VariableDescription
ANDROID_HOMEAndroid SDK installation directory
AC_MODULESelected Android module
AC_VARIANTSSelected Android variant
AC_OUTPUT_TYPESelected output type of Android artifact
AC_APK_PATHGenerated APK file path
AC_AAB_PATHGenerated AAB file path
AC_SIGNED_APK_PATHGenerated signed APK file path
AC_SIGNED_AAB_PATHGenerated signed AAB file path
AC_ANDROID_KEYSTORE_PATHSelected Android keystore path
AC_ANDROID_KEYSTORE_PASSWORDPassword for the selected keystore
AC_ANDROID_ALIASSelected alias name
AC_ANDROID_ALIAS_PASSWORDSelected alias password
AC_V2_SIGNSpecifies if signing will use V2
AC_ANDROID_APP_ANALYSIS_PATHLocation of the app analyzer JSON file
JAVA_HOME_8_X64OpenJDK 8 Location
JAVA_HOME_11_X64OpenJDK 11 Location
JAVA_HOME_17_X64OpenJDK 17 Location
AC_BUILD_NUMBER_SOURCEBuild Number Source for Versioning
AC_ANDROID_BUILD_NUMBERBuild Number for Versioning
AC_BUILD_OFFSETBuild Number Offset for Versioning
AC_VERSION_NUMBER_SOURCEVersion Number Source for Versioning
AC_ANDROID_VERSION_NUMBERVersion Number for Versioning
AC_ANDROID_VERSION_STRATEGYVersion Increment Strategy
AC_VERSION_OFFSETVersion Number Offset for Versioning
AC_FLAVORFlavor for Versioning

iOS specific environment variables

VariableDescription
AC_XCODE_LIST_DIRSpecifies the Xcode folder list path
AC_SCHEMESpecifies the project scheme for build
AC_ARCHIVE_FLAGSSpecifies the extra Xcodebuild flag. For example: -configuration DEBUG
AC_XCODE_VERSIONSpecifies the Xcode version
AC_ARCHIVE_PATHArchive path
AC_ARCHIVE_METADATA_PATHArchive metadata path
AC_SIMULATOR_ARCHIVE_PATHSimulator archive path description
AC_METADATA_OUTPUT_PATHMetadata output file description
AC_CERTIFICATESConcatenated strings of 'cert_pass|cert_path' combined with a pipe ('|') character that have the paths of the certificates and their passwords if they exist.

For instance, when we have two certificates A and B that require passwords, then it should be like 'a_cert_pass|a_cert_path|b_cert_pass|b_cert_path'.

If there is no password, its field will be empty, like '|a_cert_path'.
AC_PROVISIONING_PROFILESPaths of the provisioning profiles
AC_EXPORT_DIRSpecifies the path that contains ipa, exportOptions.plistand other exported files
AC_BUNDLE_IDENTIFIERSSpecifies the project bundle identifiers
AC_BUILD_NUMBER_SOURCEBuild Number Source for Versioning
AC_IOS_BUILD_NUMBERBuild Number for Versioning
AC_BUILD_OFFSETBuild Number Offset for Versioning
AC_VERSION_NUMBER_SOURCEVersion Number Source for Versioning
AC_IOS_VERSION_NUMBERVersion Number for Versioning
AC_IOS_VERSION_STRATEGYVersion Increment Strategy
AC_VERSION_OFFSETVersion Number Offset for Versioning
AC_BUNDLE_IDBundle Id for Versioning
AC_APPSTORE_COUNTRYApp Store Country for Versioning
AC_TARGETSiOS Targets for Versioning
AC_IOS_CONFIGURATION_NAMEConfiguration name for Versioning
AC_AUTOSIGN_CRED_PATHApp Store Connect API Key Path. Only active if automatic signing is turned on.
AC_AUTOSIGN_KEYApp Store Connect API Key Id. Only active if automatic signing is turned on.
AC_AUTOSIGN_ISSUER_IDApp Store Connect API Issuer Id. Only active if automatic signing is turned on.

iOS Publish specific environment variables

VariableDescription
AC_XCODE_LIST_DIRSpecifies the Xcode folder list directory
AC_XCODE_VERSIONSpecifies the Xcode version
AC_VALIDATION_CONDITIONTestFlight's internalBuildState and externalBuildState will be checked according to the selection
AC_SUCCESS_STATUSESYou can customize Acceptable/Succeeded App Store statuses for your app
AC_RELEASE_NOTESFilling out that area may effect the App Store submission process.
AC_STACK_TYPEApp Store or TestFlight stages
AC_APPROVAL_EMAILSEnter an email address to send special Approve and Reject links

Android Publish specific environment variables

VariableDescription
AC_RELEASE_STATUSAllow you to specify draft or completed app statuses on the Google Play Console. The first upload may require a draft upload
AC_TRACK_TO_CHECKIt's recommended to check Track that you've sent the app in previous steps
AC_ACCEPTED_STATUSESStatues of completed,inProgress,draft,halted can be used
AC_HUAWEI_APP_IDHuawei requires Huawei App ID to be send to AppGallery
AC_RELEASE_NOTESFilling out that area may effect Huawei or Google Play submission process
AC_STACK_TYPESelect a release track to which to send the binary. After the binary is uploaded, you can release it from the Google Play Console
AC_APPROVAL_EMAILSEnter an email address to send special Approve and Reject links