Azure DevOps Extension
Migrating from ALbuild V1
The ALbuild Azure DevOps extension ships V1 compatibility tasks so existing pipelines keep working after you replace the old extension with ALbuild. Each compatibility task keeps the V1 name, version and inputs, reproduces the V1 behaviour on top of the businessdev.ALbuild module, and emits a deprecation warning (the task still succeeds).
Frozen and transitional
Compatibility tasks are transitional and will be removed in a future major version. They will not receive new features or fixes. Migrate to the native tasks/cmdlets at your own pace.
Mapping
| V1 task | Native replacement |
|---|---|
InstallBcContainerHelper | (remove, ALbuild has no BcContainerHelper dependency) |
CreateBuildContainer | Get BC Artifact + Create BC Container (Find-BcArtifactUrl + New-BcContainer) |
RemoveBuildContainer | Remove BC Container (Remove-BcContainer) |
AppVersioning | Stamp Build Version (Invoke-BcBuildVersionStamp / Set-BcAppVersion) |
CreateBuildBranch | folded into Stamp Build Version (Invoke-BcBuildVersionStamp); or New-BcBuildBranch directly |
DownloadArtifactsNuGet | Resolve Dependencies (Register-BcFeed + Resolve-BcDependencies) |
DownloadArtifactsUniversalFeed | Get Universal Package (Get-BcUniversalPackage) |
DownloadDependenciesUniversalFeed | Get Universal Package (Get-BcUniversalPackage) |
DownloadConfigPackageUniversalFeed | Get Universal Package + Import Configuration Package |
Compile | Compile AL App (Invoke-BcCompiler) |
Install | Publish App (Publish-BcContainerApp) |
Install365App | Install 365 App (Install-Bc365App) |
CheckXliffTranslation | Check Translations (Test-BcTranslation) |
RunTests | Run AL Tests (Invoke-BcContainerTest) |
SignApp | Sign AL App (Invoke-BcAppSigning) |
PublishTestResultsTestiny | Publish Testiny Results (Publish-BcTestinyResult), or the built-in PublishTestResults task |
PushNuGet | Publish NuGet Package (Publish-BcPackage) |
ReleasePTE | Publish Per-Tenant Extension (Publish-BcPerTenantExtension) |
ReleaseOnPrem | Publish On-Prem App (Publish-BcOnPremApp) |
ReleaseDevExtension | Publish Dev Extension (Publish-BcDevExtension) |
ReleaseAppSource | Submit to Marketplace (Submit-BcMarketplaceApp) |
The full V1 task reference (inputs of each compatibility task) is on the Legacy (V1) tasks page.
Notes on specific compatibility tasks
- CreateBuildContainer / RemoveBuildContainer keep the V1 convention of sharing the container name through the
containerNamepipeline variable. - AppVersioning computes the version from the same token schema (
major.minor.increment.0,latest.latest.latest.build-id, …).onlyUpdateOnChangedSourceuses a git-based change check instead of the V1appVersions.jsonartifact. - RunTests runs the AL Test Runner inside the container natively (no BcContainerHelper). It discovers the AL test apps under
Build.Repository.LocalPath, honours each app's optionalpipeline.config(alTestRunnerIdselects the test-runner codeunit), runs them and writesTestResults.xml(JUnit). Failing tests mark the buildSucceededWithIssues, matching V1. It reuses thecontainerUsername/containerPasswordvariables set by the build-container tasks. The native granular Run AL Tests task exposes the same runner with explicit inputs. - Install365App downloads from a configurable URL (
ALBUILD_365APP_URL,{appId}token). - ReleasePTE exchanges the refresh token for the BC API; the client id is configurable via
ALBUILD_BC_CLIENTID.
Last modified on


