Legacy (V1) tasks
Legacy tasks reproduce the behaviour, name, version and inputs of the ALbuild V1 extension on top of the new businessdev.ALbuild module so existing pipelines keep working unchanged. They emit a deprecation warning but still succeed. They are frozen — no new features or fixes. See Migrating from V1 for the native replacements.
Tasks in this category
| Task | Reference name | Purpose |
|---|---|---|
| Set AL application version (V1) | AppVersioning@2 | Update application version in app.json manifest. |
| Check translation (XLIFF) (V1) | CheckXliffTranslation@1 | Check translation files in XLIFF format for completeness. |
| Compile AL application (V1) | Compile@1 | Compile AL applications in build container. |
| Create Build Branch (V1) | CreateBuildBranch@1 | Create build branch with current source code for reference and incremental versioning. |
| Create Build Container (V1) | CreateBuildContainer@1 | Create docker container with Microsoft Dynamics 365 Business Central installed. |
| Download Artifacts (NuGet) (V1) | DownloadArtifactsNuGet@1 | Downloads the specified artifacts from the NuGet Feed and extracts them to the specified folder. |
| Download Artifacts (Universal) (V1) | DownloadArtifactsUniversalFeed@1 | Downloads the specified artifacts from the Universal Feed and extracts them to the specified folder. |
| Download Config Package (Universal) (V1) | DownloadConfigPackageUniversalFeed@1 | Downloads the specified configuration package from the Universal Feed and extracts them to the specified folder. |
| Download Dependencies (Universal) (V1) | DownloadDependenciesUniversalFeed@1 | Downloads the app dependencies from the Universal Feed and extracts them to the specified folder. |
| Install AL application (V1) | Install@1 | Publish and install AL applications to build container. |
| Install 365 App (V1) | Install365App@1 | Publish and install 365 business development applications to on-premise build container. |
| Install BcContainerHelper (V1) | InstallBcContainerHelper@1 | Install or update BcContainerHelper powershell module. |
| Publish Test Results to Testiny (V1) | PublishTestResultsTestiny@1 | Publish test results to Testiny. |
| Push NuGet Package (V1) | PushNuGet@1 | Pushes the previously built NuGet package to the specified NuGet feed. |
| Release AppSource App (V1) | ReleaseAppSource@1 | Release AL application to Microsoft AppSource Marketplace. |
| Release App as Dev. Extension (V1) | ReleaseDevExtension@1 | Publish App to Microsoft Dynamics 365 Business Central Environment in Dev.-scope. |
| Release Per-Tenant Ext (On-Prem) (V1) | ReleaseOnPrem@1 | Publish Per Tenant Extension to Microsoft Dynamics 365 Business Central On-Premise Environment. |
| Release Per-Tenant Ext (PTE) (V1) | ReleasePTE@1 | Release Per Tenant Extension (PTE) to Microsoft Dynamics 365 Business Central Cloud Sandbox or Production Environment. |
| Remove Build Container (V1) | RemoveBuildContainer@1 | Removes the docker container created for compiling the code. |
| Run Tests (V1) | RunTests@1 | Run tests in build container. |
| Sign AL application (V1) | SignApp@1 | Sign app using AzureSignTool. |
Set AL application version (V1)
Reference name: AppVersioning@2
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Update application version in app.json manifest.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
versionNo | string | No | — | Specifies a manual version number to set in the app.json manifest. |
onlyUpdateOnChangedSource | boolean | No | — | Specifies whether to update app version only if source has changed in corresponding app folder, or always. |
versioningSchema | string | Yes | — | Specifies the versioning schema to use for the app version. |
updateBuildNumber | boolean | No | True | Specifies whether to update the build number in the build pipeline. |
Check translation (XLIFF) (V1)
Reference name: CheckXliffTranslation@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Check translation files in XLIFF format for completeness.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
targetLanguage | string | Yes | — | Specifies the target language (e.g. 'de-DE') to check the XLIFF translation for. |
Compile AL application (V1)
Reference name: Compile@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Compile AL applications in build container.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
containerName | string | No | — | Specifies the docker container used for building the app. If not specified, the previously created container, using the CreateBuildContainer task, is used. |
appId | string | No | — | Specifies a single app in the repository to build. If not specified, all apps in the repository are built. |
runtimePackage | boolean | No | False | Specifies whether to compile the app as a runtime package or not. If set to true, the app is compiled as a runtime package. Runtime packages are used to deploy apps to a runtime environment, like a cloud environment or an on-premises environment. |
createNugetPackage | boolean | No | False | Specifies whether to create a NuGet package or not. If set to true, a NuGet package is created for the app. |
updateManifest | boolean | No | True | Specifies whether to update the application manifest file or not. If set to true, the application manifest file is updated version specific settings, like platform, application and runtime version. |
setPreprocessorDirectives | boolean | No | True | Specifies whether to set preprocessor directives in application manifest or not. If set to true, the preprocessor directives 'BC<Version>' are set in application manifest for each supported major version. |
excludeTestApps | boolean | No | False | Specifies whether to exclude test apps or not. |
Create Build Branch (V1)
Reference name: CreateBuildBranch@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Create build branch with current source code for reference and incremental versioning.
This task has no configurable inputs.
Create Build Container (V1)
Reference name: CreateBuildContainer@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Create docker container with Microsoft Dynamics 365 Business Central installed.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
bcType | pickList | Yes | sandbox | Specifies the type of Microsoft Dynamics 365 Business Central used for container creation. Options: sandbox = Sandbox, onprem = OnPrem. |
bcVersion | string | Yes | latest | Specifies the Microsoft Dynamics 365 Business Central version to use for container creation. Use exact version number, 'latest' to get the latest version, 'nextMinor' to get the next minor version or 'nextMajor' to get the next major version of Microsoft Dynamics 365 Business Central. |
bcCountryVersion | string | Yes | w1 | Specifies the Microsoft Dynamics 365 Business Central country version (localization) to use for container creation. |
licenseFileUrl | string | No | — | Specifies a URL to the license file to use for container creation. If not specified, the default license file will be used. |
includeTestToolkit | boolean | No | True | Specifies whether to include test toolkit or not. |
avoidCDNDownload | boolean | No | — | Specifies whether to use default artifact url (CDN) or direct URL. CDN usage may result in faster download times, but direct URL usage may be required in some environments. |
Download Artifacts (NuGet) (V1)
Reference name: DownloadArtifactsNuGet@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Downloads the specified artifacts from the NuGet Feed and extracts them to the specified folder.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
nugetServerUrl | string | Yes | https://api.nuget.org/v3/index.json | Specifies the URL of the NuGet feed to download the package from. For Azure DevOps NuGet feeds use https://pkgs.dev.azure.com/{organization}/{project}/_packaging/{feed}/nuget/v3/index.json. |
nugetAuthToken | string | No | — | Specifies the authentication token to access the NuGet feed. Leave empty if the feed is public. |
name | string | Yes | — | Specifies the name of the NuGet package to download. |
version | string | Yes | * | Specifies the version of the NuGet package to download. Use * to download the latest version. |
symbolsFolder | filePath | Yes | $(Agent.TempDirectory)\.alpackages | Specifies the Path to the directory where the artifacts will be extracted. By default, the artifacts will be extracted to a temporary folder that is cleaned after each pipeline job. |
publishArtifact | boolean | No | True | Specifies whether to publish the downloaded artifacts to build container. |
Download Artifacts (Universal) (V1)
Reference name: DownloadArtifactsUniversalFeed@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Downloads the specified artifacts from the Universal Feed and extracts them to the specified folder.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
organization | string | Yes | $(System.TeamFoundationCollectionUri) | Specifies the URI of the Azure DevOps organization. |
project | string | No | $(System.TeamProject) | Specifies the Azure DevOps project. |
feed | string | Yes | — | Specifies the Azure Artifacts feed. |
name | string | Yes | — | Specifies the name of the universal package to download. |
version | string | Yes | * | Specifies the version of the universal package to download. Use * to download the latest version. |
symbolsFolder | filePath | Yes | $(Agent.TempDirectory)\.alpackages | Specifies the Path to the directory where the artifacts will be extracted. By default, the artifacts will be extracted to a temporary folder that is cleaned after each pipeline job. |
publishArtifact | boolean | No | True | Specifies whether to publish the downloaded artifacts to build container. |
suppressManifestWarning | boolean | No | False | Specifies whether manifest warnings will be suppressed or not. |
Download Config Package (Universal) (V1)
Reference name: DownloadConfigPackageUniversalFeed@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Downloads the specified configuration package from the Universal Feed and extracts them to the specified folder.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
organization | string | Yes | $(System.TeamFoundationCollectionUri) | Specifies the URI of the Azure DevOps organization. |
project | string | No | $(System.TeamProject) | Specifies the Azure DevOps project. |
feed | string | Yes | — | Specifies the Azure Artifacts feed. |
name | string | Yes | — | Specifies the name of the universal package to download. |
version | string | Yes | * | Specifies the version of the universal package to download. Use * to download the latest version. |
importPackage | boolean | No | True | Specifies whether to import the configuration package to build container. |
Download Dependencies (Universal) (V1)
Reference name: DownloadDependenciesUniversalFeed@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Downloads the app dependencies from the Universal Feed and extracts them to the specified folder.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
organization | string | Yes | $(System.TeamFoundationCollectionUri) | Specifies the URI of the Azure DevOps organization. |
project | string | No | $(System.TeamProject) | Specifies the Azure DevOps project. |
feed | string | Yes | — | Specifies the Azure Artifacts feed. |
namePattern | string | Yes | {app-name} | Specifies the pattern used to identify the name of the universal package to download. The pattern can include the following placeholders: {app-name}, {app-version}, {app-publisher}, {app-id}. |
appId | string | No | — | Specifies a single app in the repository to download the dependencies for. |
symbolsFolder | filePath | Yes | $(Agent.TempDirectory)\.alpackages | Specifies the Path to the directory where the artifacts will be extracted. By default, the artifacts will be extracted to a temporary folder that is cleaned after each pipeline job. |
publishArtifact | boolean | No | True | Specifies whether to publish the downloaded artifacts to build container. |
suppressManifestWarning | boolean | No | False | Specifies whether manifest warnings will be suppressed or not. |
Install AL application (V1)
Reference name: Install@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Publish and install AL applications to build container.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
containerName | string | No | — | Specifies the docker container used for compile the app. If not specified, the previously created container, using the CreateBuildContainer task, is used. |
appId | string | No | — | Specifies a single app in the repository to install. If not specified, all apps in artifacts storage are installed. |
schemaUpdateMode | pickList | Yes | Synchronize | Specifies the schema update mode for the app. The schema update mode is used to determine how the app's schema is updated in the target database. The options are: Synchronize, Recreate and Force. Options: Synchronize = Synchronize, Force = Force, Recreate = Recreate. |
excludeTestApps | boolean | No | False | Specifies whether to exclude test apps or not. |
Install 365 App (V1)
Reference name: Install365App@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Publish and install 365 business development applications to on-premise build container.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
containerName | string | No | — | Specifies the docker container to install the app. If not specified, the previously created container, using the CreateBuildContainer task, is used. |
appId | string | No | — | Specifies a single 365 business development app to install. Visit https://downloads.365businessdev.com/ to obtain the app ID for the app to install. |
Install BcContainerHelper (V1)
Reference name: InstallBcContainerHelper@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Install or update BcContainerHelper powershell module.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
bcContainerHelperVersion | string | No | latest | Specifies the version of BcContainerHelper powershell module to install. If not specified, the latest version will be installed. |
Publish Test Results to Testiny (V1)
Reference name: PublishTestResultsTestiny@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Publish test results to Testiny.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
testRunId | string | No | — | Specifies the ID of the test run. If not specified, the task will use the build number as the test run ID. |
testResultsFile | string | Yes | TestResults.xml | Specifies the test results file to publish. |
testinyProjectId | string | Yes | — | Specifies the target project id or key of your Testiny project. |
testinyApiKey | string | Yes | — | Specifies the API key to authenticate with Testiny. See https://www.testiny.io/docs/settings/api-keys/ for more information. |
Push NuGet Package (V1)
Reference name: PushNuGet@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Pushes the previously built NuGet package to the specified NuGet feed.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
nugetServerUrl | string | Yes | https://api.nuget.org/v3/index.json | Specifies the URL of the NuGet feed to which the package is pushed. |
nugetAuthToken | string | Yes | — | Specifies the authentication token that is used to push the package to the NuGet feed. For Azure DevOps NuGet feeds any string will work, for other feeds you may need to use API key. |
artifactsFolder | string | Yes | — | Specifies the directory that contains the artifacts to be deployed. Only NuGet packages, with the extension .nupkg, are processed. |
Release AppSource App (V1)
Reference name: ReleaseAppSource@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Release AL application to Microsoft AppSource Marketplace.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
tenantId | string | Yes | — | Specifies the tenant ID of the Azure Active Directory (AAD) tenant that is used to authenticate with the Partner Center. |
appRegistrationClientId | string | Yes | — | Specifies the client ID of the Azure Active Directory (AAD) application that is used to authenticate with the Partner Center. |
appRegistrationClientSecret | string | Yes | — | Specifies the client secret of the Azure Active Directory (AAD) application that is used to authenticate with the Partner Center. |
artifactsFolder | string | Yes | — | Specifies the directory that contains the artifacts to be deployed. The artifacts can be a .app file or a .zip file that contains the .app file. |
libraryArtifactsFolder | string | Yes | — | Specifies the directory that contains the library artifacts to be deployed. The artifacts can be a .app file or a .zip file that contains the .app file. |
Release App as Dev. Extension (V1)
Reference name: ReleaseDevExtension@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Publish App to Microsoft Dynamics 365 Business Central Environment in Dev.-scope.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
devServiceUri | string | Yes | — | Specifies the URL of the Microsoft Dynamics 365 Business Central development service to which the app is published. The URL must be in the format https://<server>:<port>/<serverInstance>. If you are deploying to a Microsoft Dynamics 365 Business Central instance using traefik reverse proxy, the URL must be in the format http[s]://<server>/<serverInstance>dev. |
authUser | string | Yes | — | Specifies the username of the user who is used to authenticate with the Microsoft Dynamics 365 Business Central development service. The user must have the necessary permissions to publish the app to the service. |
authPassword | string | Yes | — | Specifies the password of the user who is used to authenticate with the Microsoft Dynamics 365 Business Central development service. |
syncMode | pickList | Yes | Synchronize | Specifies the synchronization mode to install the app with. The synchronization mode is used to determine how the app's schema is updated in the target database. The options are: Synchronize, ForceSyn and Recreate. Options: Synchronize = Synchronize, ForceSync = ForceSync, Recreate = Recreate. |
artifactsFolder | string | Yes | — | Specifies the directory that contains the artifacts to be deployed. The artifacts can be a .app file or a .zip file that contains the .app file. |
Release Per-Tenant Ext (On-Prem) (V1)
Reference name: ReleaseOnPrem@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Publish Per Tenant Extension to Microsoft Dynamics 365 Business Central On-Premise Environment.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
serverInstance | string | Yes | BC | Specifies the name of the Microsoft Dynamics 365 Business Central Server Instance to which the extension will be deployed. |
syncMode | pickList | Yes | Add | Specifies the synchronization mode to install the app with. The synchronization mode is used to determine how the app's schema is updated in the target database. The options are: Add, Clean, Development and ForceSync. Options: Add = Add, ForceSync = ForceSync, Clean = Clean, Development = Development. |
containerName | string | No | — | Specifies the name of the Microsoft Dynamics 365 Business Central Container, in which Microsoft Dynamics 365 Business Central is deployed. If you are deploying to a Microsoft Dynamics 365 Business Central server instance directly installed, leave this field empty. |
artifactsFolder | string | Yes | — | Specifies the directory that contains the artifacts to be deployed. The artifacts can be a .app file or a .zip file that contains the .app file. |
Release Per-Tenant Ext (PTE) (V1)
Reference name: ReleasePTE@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Release Per Tenant Extension (PTE) to Microsoft Dynamics 365 Business Central Cloud Sandbox or Production Environment.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
tenantId | string | No | — | Specifies the Microsoft Entra tenant ID to which the extension will be deployed. Omit this parameter to deploy to the default tenant of your organization. |
environment | string | Yes | — | Specifies the environment to which the extension will be deployed. The environment can be a sandbox or a production environment. |
refreshToken | string | Yes | — | Specifies the OAuth 2.0 refresh token that is used to authenticate with the Microsoft Dynamics 365 Business Central service. |
artifactsFolder | string | Yes | — | Specifies the directory that contains the artifacts to be deployed. The artifacts can be a .app file or a .zip file that contains the .app file. |
schemaSyncMode | pickList | Yes | Add | Specifies the schema synchronization mode to use when deploying the extension. Options: Add = Synchronize, Force = Force Synchronization. |
scope | pickList | Yes | tenant | Specifies the scope of the extension deployment. Options: tenant = Tenant, development = Development. |
Remove Build Container (V1)
Reference name: RemoveBuildContainer@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Removes the docker container created for compiling the code.
This task has no configurable inputs.
Run Tests (V1)
Reference name: RunTests@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Run tests in build container.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
containerName | string | No | — | Specifies the docker container used for building the app. If not specified, the previously created container, using the CreateBuildContainer task, is used. |
addScenarioDescriptionToTestResultsFile | boolean | No | True | Specifies to use scenario description from AL source code in test results file. |
Sign AL application (V1)
Reference name: SignApp@1
Deprecated
This V1 compatibility task emits a deprecation warning and still succeeds. Migrate to the native task — see Migrating from V1.
Sign app using AzureSignTool.
Inputs
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
artifactsDirectory | filePath | Yes | $(Build.ArtifactStagingDirectory) | The local path on the agent where any artifacts are stored before being pushed to their destination. |
signingAzureKeyVaultUrl | string | Yes | — | Specifies the Azure Key Vault base URL. |
signingAzureKeyVaultTenantId | string | Yes | — | Specifies the tenant ID of the organization. |
signingAzureKeyVaultClientId | string | Yes | — | Specifies the client ID of the app registration, to access Azure Key Vault. |
signingAzureKeyVaultClientSecret | string | Yes | — | Specifies the client secret of the app registration, to access Azure Key Vault. |
signingCertName | string | Yes | — | Specifies the name of the certificate stored in Azure Key Vault. |


