# Build Steps Overview
Let's describe all the Build Steps that we have at our disposal
## List and describe all build steps
Here is a list of all build steps you have at your disposal when you use ALOps
### ALOps Tasks
- ALOps AdminCenter API
- Interact with BC SaaS AdminCenter API.
- YAML Template:
- task: ALOpsAdminCenterAPI@1 displayName: 'ALOps AdminCenter API' inputs: azure_tenant_id: # Azure Tenant Id. Only required for BC SaaS $(azure_tenant_id) azure_app_client_id: # Azure AD Application Client Id. $(azure_app_client_id) azure_app_client_secret: # Azure AD Application Client Secret. $(azure_app_client_secret) azure_app_client_certificate: # Azure AD Application Client Certificate. $(azure_app_client_certificate) azure_app_client_certificate_password: # Azure AD Application Client Certificate Password. $(azure_app_client_certificate_password) username: # Business Central Username. Leave empty for Service-2-Service authentication. $(username) password: # Business Central User Password. Leave empty for Service-2-Service authentication. $(password) checksecondsdelay: 30 # Seconds of delay betweel deployment status checks. $(checksecondsdelay) maxtries: 20 # Max tries for status check. $(maxtries) interaction: environment_list # Set Interaction to use. $(interaction) wait_for_operation: True # Wait for operation. $(wait_for_operation) environment: # Source Environment. $(environment) target_environment: # Target Environment. $(target_environment) use_update_window: False # Use update window. $(use_update_window) app_id: # App ID. $(app_id) accept_isv_eula: False # Accept ISV Eula. $(accept_isv_eula) force_dependencies: False # Force Dependencies. $(force_dependencies) confirm_delete_data: False # Confirm Delete Data. $(confirm_delete_data)
- ALOps Agent Maintenance
- Cleanup and maintain DevOps a Agent for Business Central.
- YAML Template:
- task: ALOpsAgentMaintenance@1 displayName: 'ALOps Agent Maintenance' inputs: removeoldtasks: False # Remove old ALOps tasks. $(removeoldtasks) removeunusedcontainers: False # Force docker container pruning. $(removeunusedcontainers) pruneimagesdayscreated: 0 # Force docker image pruning based on creation date (x days). $(pruneimagesdayscreated) pruneimagesosbased: False # Prune images based on old OS. $(pruneimagesosbased) removebcartifacts: False # Remove BC Artifacts. $(removebcartifacts) bcartifactscachefolder: C:\bcartifacts.cache# Set non-default BC Artifact Cache folder. $(bcartifactscachefolder) daysunused: 30 # Define date-range for cleanup BC-Artifacts. $(daysunused)
- ALOps App License Check
- Check App files agains a license.
- YAML Template:
- task: ALOpsAppLicenseCheck@1 displayName: 'ALOps App License Check' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) licensefile: # Set the BC License File. Path or Url. $(licensefile) artifact_path: $(System.ArtifactsDirectory)# Path for App Artifact. $(artifact_path) artifact_filter: *.app # Filter used for locating App file relative to $(artifact_path). $(artifact_filter) artifact_include: # Include-Filter used for locating App file relative to $(artifact_path). $(artifact_include) artifact_exclude: # Exclude-Filter used for locating App file relative to $(artifact_path). $(artifact_exclude) exclude_ranges: # Exclude-Ranges from LicenseCheck (Buffer / Tempory tables). Format: 60000..60099,70000..70100 $(exclude_ranges)
- ALOps App Runtime Package
- Get a NAV App runtime package for onprem deployment.
- YAML Template:
- task: ALOpsAppRuntimePackage@1 displayName: 'ALOps App Runtime Package' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) nav_serverinstance: BC140 # Specifies the name of a Business Central Server instance. $(nav_serverinstance) nav_tenant: default # Specifies the ID of a specific tenant that you want to act on, such as Tenant1. $(nav_tenant) targetproject: ./app.json # Path of the project to export as RuntimePackage. Must be a fully qualified path or relative to $(System.DefaultWorkingDirectory). $(targetproject) showmycode: False # Overwrites the ShowMyCode value in the manifest. $(showmycode) publish_artifact: True # Publish generated Runtime-App Artifact to DevOps. $(publish_artifact)
- ALOps App Sign
- Codesign Business Central extension with .pfx.
- YAML Template:
- task: ALOpsAppSign@1 displayName: 'ALOps App Sign' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) batchsigncompiledapps: False # Batch Sign Apps taged by ALOpsAppCompile task. $(batchsigncompiledapps) artifact_path: # Path for storing App Artifact. $(artifact_path) nav_artifact_app_filter: *.app # Path of the App to Codesign. Must be a fully qualified path or relative to $(System.DefaultWorkingDirectory). $(nav_artifact_app_filter) pfx_path: # Path or Url of the PFX file. $(pfx_path) timestamp_uri: # Uri of the timestamp service used during signing. $(timestamp_uri) publish_artifact: True # Publish generated App Artifact to DevOps. $(publish_artifact) pfx_password: # Password for the PFX File. Recommended to use Azure-KeyVault secrets. $(pfx_password)
- ALOps App Sign Verify
- Verify CodeSign of Business Central extension.
- YAML Template:
- task: ALOpsAppSignVerify@1 displayName: 'ALOps App Sign Verify' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) artifact_path: # Path for App Artifact. $(artifact_path) nav_artifact_app_filter: *.app # Path of the App to verify. Must be a fully qualified path or relative to $(System.DefaultWorkingDirectory). $(nav_artifact_app_filter)
- ALOps App Test
- Run Business Central Test-Suite and collect results.
- YAML Template:
- task: ALOpsAppTest@1 displayName: 'ALOps App Test' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) nav_serverinstance: BC140 # Business Central Server Instance Name. $(nav_serverinstance) tenant: default # Business Central Tenant. $(tenant) companyname: # Business Central Company. $(companyname) profile: # Business Central Profile. $(profile) bc_username: # BC Username for ServiceTier connection. $(bc_username) bc_password: # BC User Password for ServiceTier connection. $(bc_password) bc_authentication: NavUserPassword # BC Authentication type of the ServiceTier. $(bc_authentication) bc_webclient_url: # BC WebClient Endpoint. $(bc_webclient_url) testfilter: # Filter codeunits to include in Test-Suite. $(testfilter) disabledtests: # Disabled Tests File. $(disabledtests) show_available_tests: True # Show all available tests. $(show_available_tests) import_testtoolkit: True # Import TestToolKit FOB. $(import_testtoolkit) import_action: Overwrite # Import Action for importing Test-Suite FOB files. $(import_action) testpage: 130409 # Set the PageId used for testing. $(testpage) testsuite: DEFAULT # Set target Test Suite to activate. $(testsuite) extensionid: # Set Extension ID. $(extensionid) installaltesttool: False # Install the AL TestTool for v15. $(installaltesttool) failed_test_action: Warning # Action to take when a Test failed. $(failed_test_action) override_finsql_path: # Overrule automatic detection of FinSql with fixed value. $(override_finsql_path) resultfilename: TestResults.xml # Set filename for the Result XML. $(resultfilename) testrunnercodeunitid: # Set the Codeunit Id for the test-runner to use. $(testrunnercodeunitid)
- ALOps App Validation
- Validate App from Business Central AppSource.
- YAML Template:
- task: ALOpsAppValidation@1 displayName: 'ALOps App Validation' inputs: license_path: # Path of the FLF license to import. Must be a fully qualified path or relative to $(System.DefaultWorkingDirectory) or a downloadable Url. $(license_path) countries: # Comma seperated array of countries to validate. When blank SupportedCountries value from AppSourceCop.json is used. $(countries) affixes: # Comma seperated array of affixes. $(affixes) artifact_path: $(System.ArtifactsDirectory)# Path for App Artifact(s). $(artifact_path) artifact_filter: *.app # Filter used for locating App file relative to $(artifact_path). $(artifact_filter) installapps_path: $(System.ArtifactsDirectory)# Path for InstallApps Artifact(s). $(installapps_path) installapps_filter: *.app # Filter used for locating App file relative to $(installapps_path). $(installapps_filter) previousapps_path: $(System.ArtifactsDirectory)# Path for PreviousApps Artifact(s). $(previousapps_path) previousapps_filter: *.app # Filter used for locating App file relative to $(previousapps_path). $(previousapps_filter) memory: 8G # Set maximum memory for Container. $(memory) validateversion: # Full or partial version number. If specified, apps will also be validated against this version. $(validateversion) validatecurrent: False # Validate against current version of Business Central. $(validatecurrent) validatenextminor: False # Validate against Next Minor version of Business Central. $(validatenextminor) validatenextmajor: False # Validate against Next Major version of Business Central. $(validatenextmajor) sastoken: # SAS Token used to access Storage Account. $(sastoken) skipverification: False # $(skipverification) skipappsourcecop: False # $(skipappsourcecop) includewarnings: False # Include this switch if you want to include Warnings. $(includewarnings) failonerror: True # Include this switch if you want to fail on the first error instead of returning all errors to the caller. $(failonerror) containername: bcserver # Only required when running multiple DevOps Agents on the same server. (Not recommended) $(containername)
- ALOps App Cleaner
- Remove all extensions from Business Central service tier.
- YAML Template:
- task: ALOpsAppClean@1 displayName: 'ALOps App Cleaner' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) nav_computername: localhost # Target Business Central Server running service tier. $(nav_computername) nav_serverinstance: BC140 # Business Central Server Instance Name. $(nav_serverinstance) sync_mode: Add # Mode for synchronizing Business Central extensions. $(sync_mode) includemicrosoftapps: False # Include Microsoft Apps. $(includemicrosoftapps)
- ALOps App Copy
- Copy Business Central extensions from one service tier to another.
- YAML Template:
- task: ALOpsAppCopy@1 displayName: 'ALOps App Copy' inputs: nav_computername: localhost # Target Business Central Server running service tier. $(nav_computername) nav_serverinstance_source: BC140 # Source Business Central service tier to copy from. $(nav_serverinstance_source) nav_serverinstance_target: BC140 # Target Business Central service tier to copy to. $(nav_serverinstance_target) nav_app_storage: # Path used for temporary extension storage. $(nav_app_storage)
- ALOps App Compiler
- Compile a Business Central extension from AL code.
- YAML Template:
- task: ALOpsAppCompiler@1 displayName: 'ALOps App Compiler' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) targetproject: ./app.json # Path of the project to compile. Must be a fully qualified path or relative to $(System.DefaultWorkingDirectory). $(targetproject) nav_computername: # Target Business Central Server running service tier. $(nav_computername) nav_serverinstance: BC140 # Business Central Server Instance Name. $(nav_serverinstance) nav_tenant: default # NAV Tenant used for symbols and compiling the app. $(nav_tenant) nav_ports_dev: 7049 # NAV Port used for DEV-Service. $(nav_ports_dev) bc_username: # BC Username for ServiceTier connection. $(bc_username) bc_password: # BC User Password for ServiceTier connection. $(bc_password) al_compiler_version: 0.12.15355 # AL Compiler version used for compiling. $(al_compiler_version) ruleset: # Overrule the Ruleset from VSCode settings. Path relative to [alsourcepath] $(ruleset) suppresswarnings: KEEP # Overrule the 'suppresswarnings' setting. $(suppresswarnings) al_analyzer: # AL Analyzer(s) used for compiling. (Example: CodeCop,UICop) $(al_analyzer) ignorepragmas: # Report Suppressed Diagnostics: diagnostics suppressed in source code should be emitted. $(ignorepragmas) nav_app_version: 1.0.*.0 # Template for versioning NAV-Apps. '*' is replaced by the current Build Number. $(nav_app_version) vsix_download_path: # Alternative VSIX download url. 'Latest' can be specified. $(vsix_download_path) use_ssl: False # Use SSL for Business Central connections. $(use_ssl) download_test_symbols: False # Download Test Symbols explicitly (without Test-Version reference in App.json). $(download_test_symbols) usecompression: True # Compress Source-Folder for transfer to docker container. $(usecompression) publish_artifact: True # Publish generated App Artifact to DevOps. $(publish_artifact) publishxlif: False # Publish generated XLIF to DevOps. $(publishxlif) failed_on_warnings: False # Fail task when any warning occurs. $(failed_on_warnings) app_file_suffix: # Set a suffix tag on the compiled App filename. $(app_file_suffix) updatebuildnumber: True # Update the Build number with the current version. $(updatebuildnumber) setup_working_folder: False # Copy working folder to Docker container. $(setup_working_folder) showmycode: Keep # Overrule ShowMyCode by setting other option than 'Keep'. $(showmycode) resourceexposurepolicy_allowdebugging: Keep# Overrule allowDebugging by setting other option than 'Keep'. $(resourceexposurepolicy_allowdebugging) resourceexposurepolicy_allowdownloadingsource: Keep# Overrule allowDownloadingSource by setting other option than 'Keep'. $(resourceexposurepolicy_allowdownloadingsource) resourceexposurepolicy_includesourceinsymbolfile: Keep# Overrule includeSourceInSymbolFile by setting other option than 'Keep'. $(resourceexposurepolicy_includesourceinsymbolfile) internalsvisibleto: Keep # Remove internalsVisibleTo by setting other option than 'Keep'. $(internalsvisibleto) preprocessorsymbols: # Overwrite the preprocessorSymbols in app.json, comma seperated string. Set to 'NONE' to remove. $(preprocessorsymbols) applicationinsightskey: # Overwrite the ApplicationInsightsKey in app.json. Set to 'NONE' to remove InsightsKey. $(applicationinsightskey) printappmanifest: True # Print the final app.json before compile. $(printappmanifest) output_alc_logs: True # Output ALC logs. $(output_alc_logs) additionalprobingpaths: # Add additional Assembly probing Paths. $(additionalprobingpaths)
- ALOps Docker Create
- Create Docker image based on NAV/BC Artifacts.
- YAML Template:
- task: ALOpsDockerCreate@1 displayName: 'ALOps Docker Create' inputs: artifactspecification: Specific # Set Artifact resolve method. $(artifactspecification) artifactversion: # BC/NAV Version, eg: 9, 10.4, NAV2016, 16.4.24524. $(artifactversion) artifacttype: OnPrem # Set Artifact Type. $(artifacttype) artifactcountry: # The Country for the Artifact. $(artifactcountry) versionselect: Latest # The version to be selected from the Artifacts. $(versionselect) artifacthint: # . $(artifacthint) multitenant: False # Create a Multi-Tenant image. $(multitenant) memory: 8G # Set maximum memory for Container. $(memory) imageprefix: myImage # New image name, tag defined by $(imagenametemplate). $(imageprefix) dockerregistry: # Docker registry Pull/Push, example: 'bcinsider.azurecr.io', or 'repo.mydomain.com' $(dockerregistry) dockerusername: # Docker login username. $(dockerusername) dockerpassword: # Docker login password. $(dockerpassword) storageaccount: # Non Default Storage Account. $(storageaccount) sastoken: # SAS Token used to access Storage Account. $(sastoken) forcecreateimage: False # Forces image creation, skipping Pull image. $(forcecreateimage) myscripts: # Specify myScripts to be added to the image. $(myscripts) imagenametemplate: %IMAGE_PREFIX%:%ARTIFACT_TYPE%-%ARTIFACT_VERSION%-%ARTIFACT_COUNTRY%-%OS_VERSION%-%OS_LTSC%# Template for defining Image names or using a fixed name $(imagenametemplate) licensefile: # BC License File to be included in the Image $(licensefile) includetesttoolkit: False # Included the TestToolkit in created image. $(includetesttoolkit) includetestlibrariesonly: False # Included only the Test-Libraries in created image. $(includetestlibrariesonly) includetestframeworkonly: False # Included only the Test-Framework in created image. $(includetestframeworkonly) includeperformancetoolkit: False # Include Performance-Toolkit in created image. $(includeperformancetoolkit)
- ALOps Docker Execute
- Execute powershell script in container.
- YAML Template:
- task: ALOpsDockerExec@1 displayName: 'ALOps Docker Execute' inputs: fixed_tag: # Allows recycling of docker containers. $(fixed_tag) scriptsource: InLine # Set type for requiring the script. $(scriptsource) script_location: # Location of the script to fetch. $(script_location) inline_script: # Write your powershell commands here. Write-Host "Hello World" # Inline Powershell Script. $(inline_script)
- ALOps Docker Remove
- Remove Business Central docker container.
- YAML Template:
- task: ALOpsDockerRemove@1 displayName: 'ALOps Docker Remove' inputs: usedocker: True # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) print_logs: True # Print all container logs before remove. $(print_logs) createeventlogbackup: disabled # Create EventLog Backup from Container. $(createeventlogbackup) createsqlbackup: disabled # Create SQL Backup from Container Database. $(createsqlbackup) publishsqlbackup: True # Published the SQL Backup as Build-Artifact. $(publishsqlbackup) sqlcompression: False # Create Compressed SQL Backup (does not work on SQL-Express). $(sqlcompression) zipsqlbackup: True # ZIP the SQL Backup. $(zipsqlbackup)
- ALOps Docker Start
- Start Business Central docker container.
- YAML Template:
- task: ALOpsDockerStart@1 displayName: 'ALOps Docker Start' inputs: fixed_tag: # Allows recycling of docker containers. $(fixed_tag) ignore_no_container_warning: False # Do not trigger warning when container with [fixed_tag] is not found. $(ignore_no_container_warning) docker_image: $(ALOPS_BC_IMAGE) # Business Central docker Image to Start. $(docker_image) accept_image_eula: True # Accept Eula of docker image. $(accept_image_eula) accept_image_outdated: True # Accept Outdated image. $(accept_image_outdated) enable_symbol_loading: False # Enable Symbol Loading. $(enable_symbol_loading) enable_api_services: False # Enable API Services. $(enable_api_services) multitenant: False # Create a Multi-Tenant container. $(multitenant) docker_pull: True # Force Pull docker image. $(docker_pull) dockerauthentication: None # Set authentication Method to use. $(dockerauthentication) docker_login: # Select the generic login to use for docker. If needed, click on 'manage', and add a new Service Endpoint of type 'Generic' $(docker_login) docker_username: # Docker login username. $(docker_username) docker_password: # Docker login password. $(docker_password) docker_registry: # Docker registry for login, example: 'bcinsider.azurecr.io' $(docker_registry) memory_gb: -1 # Set maximum memory for container in GB. $(memory_gb) container_restart: no # Set docker container restart preference. $(container_restart) licensefile: # Set the BC License File. Path or Url. $(licensefile) docker_parameters: # Specify additional docker parameters. $(docker_parameters) sql_server: # External SQL Server. $(sql_server) sql_server_instance: # External SQL Server Instance. $(sql_server_instance) sql_database: # External SQL Database. $(sql_database) sql_database_user: # External SQL Database User. $(sql_database_user) sql_database_user_password: # External SQL Database Password. $(sql_database_user_password) sql_backup_file: # Restore BAK file on startup. $(sql_backup_file) encryption_key: # Encryption key for Service Tier. $(encryption_key) taskscheduler: Keep # Overrule EnableTaskScheduler by setting other option than 'Keep'. $(taskscheduler)
- ALOps Docker Wait
- Wait until the Business Central container is started.
- YAML Template:
- task: ALOpsDockerWait@1 displayName: 'ALOps Docker Wait' inputs: fixed_tag: # Allows recycling of docker containers. $(fixed_tag) search_string: Ready for connections! # String to match in Docker Logs and return. $(search_string) warning_string: # Show as Warning when the container logs contain the warning string. $(warning_string) error_string: # Throw error when the container logs contain the error string. $(error_string) setup_working_folder: True # Copy working folder to Docker container. $(setup_working_folder) usecompression: True # Compress Source-Folder for transfer to docker container. $(usecompression) printlogs: True # Print all container logs. $(printlogs)
- ALOps Extension API
- Get/Publish extensions with the Business Central API.
- YAML Template:
- task: ALOpsExtensionAPI@1 displayName: 'ALOps Extension API' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) interaction: get # Set Interaction Method to use. (Get/Publish/Batch Publish). $(interaction) api_endpoint: https://api.businesscentral.dynamics.com/v2.0/$(azure_tenant_id)/Sandbox/api# Set API Endpoint. (protocol://host:port/serverinstance/api) $(api_endpoint) dev_endpoint: # Set DEV Endpoint. (protocol://host:port/serverinstance/dev) $(dev_endpoint) dev_schemeupdatemode: synchronize # Set Schema Update Mode to use with DEVPort deploy. (synchronize/recreate/forcesync) $(dev_schemeupdatemode) apiversion: v1.0 # Version of the API to use (beta / v1.0 / v2.0) $(apiversion) authentication: oauth # Set authentication Method to use. Default [Windows]. $(authentication) azure_tenant_id: # Azure Tenant Id. Only required for BC SaaS $(azure_tenant_id) azure_app_client_id: # Azure AD Application Client Id. $(azure_app_client_id) azure_app_client_secret: # Azure AD Application Client Secret. $(azure_app_client_secret) azure_app_client_certificate: # Azure AD Application Client Certificate. $(azure_app_client_certificate) azure_app_client_certificate_password: # Azure AD Application Client Certificate Password. $(azure_app_client_certificate_password) username: # Business Central Username. Leave empty for Service-2-Service authentication. $(username) password: # Business Central User Password. Leave empty for Service-2-Service authentication. $(password) bccompany: # Business Central Company (Id or Name). $(bccompany) artifact_path: $(System.ArtifactsDirectory)# Path for App Artifact. $(artifact_path) artifact_filter: *.app # Filter used for locating App file relative to $(path_to_publish). $(artifact_filter) showdeploymentstatus: True # Show Extension Deployment Status. $(showdeploymentstatus) checksecondsdelay: 30 # Seconds of delay betweel deployment status checks. $(checksecondsdelay) maxtries: 20 # Max tries for status check. $(maxtries) replacepackageid: False # Force a new PackageID for each deployment. $(replacepackageid) blocksymbolsonly: False # Check App, block if SymbolsOnly App. $(blocksymbolsonly)
- ALOps Import FOB
- Import objects from .FOB file.
- YAML Template:
- task: ALOpsFobImport@1 displayName: 'ALOps Import FOB' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) nav_serverinstance: BC140 # Business Central Server Instance Name. $(nav_serverinstance) filePath: # Path of the FOB to import. Must be a fully qualified path or relative to $(System.DefaultWorkingDirectory). $(filePath) import_action: Default # Import action for importing FOB files. $(import_action) synchronize_schema_changes: Yes # Synchronize Schema Changes setting for importing FOB files. $(synchronize_schema_changes) generate_symbol_reference: False # Enable Generate Symbol References. $(generate_symbol_reference) force_full_generate_symbol_reference: False# Generate Symbol Reference for All Objects. $(force_full_generate_symbol_reference) override_finsql_path: # Overrule automatic detection of FinSql with fixed value. $(override_finsql_path)
- ALOps Info
- Print information about ALOps and executing host.
- YAML Template:
- task: ALOpsInfo@1 displayName: 'ALOps Info' inputs: scanforsymbolonlyapps: Disabled # Scan for SymbolOnly Apps. $(scanforsymbolonlyapps)
- ALOps License Import
- Import Business Central license (.flf).
- YAML Template:
- task: ALOpsLicenseImport@1 displayName: 'ALOps License Import' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) nav_serverinstance: BC140 # Business Central Server Instance Name. $(nav_serverinstance) license_path: # Path of the FLF license to import. Must be a fully qualified path or relative to $(System.DefaultWorkingDirectory) or a downloadable Url. $(license_path) remove_license_file: True # Remove license file after import. $(remove_license_file) print_license_info: False # Set if License is printed into the pipeline. $(print_license_info) license_scope: Default # Set the scope for license upload. $(license_scope)
- ALOps OpenAPI
- Generate OpenAPI descriptions from Business Central API's.
- YAML Template:
- task: ALOpsOpenAPI@1 displayName: 'ALOps OpenAPI' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) api_endpoint: https://api.businesscentral.dynamics.com/v2.0/$(azure_tenant_id)/Sandbox/api# Set API Endpoint. (protocol://host:port/serverinstance/api) $(api_endpoint) authentication: oauth # Set authentication Method to use. Default [Windows]. $(authentication) azure_tenant_id: # Azure Tenant Id. Only required for BC SaaS $(azure_tenant_id) azure_app_client_id: # Azure AD Application Client Id. $(azure_app_client_id) azure_app_client_secret: # Azure AD Application Client Secret. $(azure_app_client_secret) azure_app_client_certificate: # Azure AD Application Client Certificate. $(azure_app_client_certificate) azure_app_client_certificate_password: # Azure AD Application Client Certificate Password. $(azure_app_client_certificate_password) username: # Business Central Username. Leave empty for Service-2-Service authentication. $(username) password: # Business Central User Password. Leave empty for Service-2-Service authentication. $(password) publish_artifacts: True # Publish results as Artifacts. $(publish_artifacts) discover: True # Discover available API routes. $(discover) api_routes: # Specify API Routes to convert. Multiline or '|' seperated. $(api_routes) api_exclude_routes: # Specify API Routes to exclude from discovery. Multiline or '|' seperated. $(api_exclude_routes) inspect_paths: False # Print all available Paths per Route. $(inspect_paths) api_servers: # Specify available servers for OpenAPI. Multiline or '|' seperated. $(api_servers) export_edmx: False # Export original API EDMX. $(export_edmx) export_yaml: True # Export API in YAML format. $(export_yaml) export_json: False # Export API in JSON format. $(export_json) exclude_company_paths: False # Exclude Company Paths. $(exclude_company_paths)
- ALOps Package Import
- Import and Process RapidStart/Configuration Package
- YAML Template:
- task: ALOpsPackageImport@1 displayName: 'ALOps Package Import' inputs: usedocker: True # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) company_name: # Company name for Package import. $(company_name)
- ALOps App Publish
- Publish Business Central extension to service tier.
- YAML Template:
- task: ALOpsAppPublish@1 displayName: 'ALOps App Publish' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) installpublishedapps: True # Install Published Applications. $(installpublishedapps) installaltesttool: False # Install the AL TestTool for v15. $(installaltesttool) install_al_app_names: Tests-TestLibraries System Application Test System Application Test Library Any Library Assert Test Runner # Specify additional docker parameters. $(install_al_app_names) strictappnames: False # Only install Specified Apps. $(strictappnames) nav_serverinstance: BC140 # Business Central Server Instance Name. $(nav_serverinstance) artifact_path: # Path for storing App Artifact. $(artifact_path) nav_artifact_app_filter: *.app # Filter used for locating App file relative to $(path_to_publish). $(nav_artifact_app_filter) skip_verification: True # Skip CodeSign Verification of Business Central App. $(skip_verification) forceinstall: False # Always install Apps regards of current state. $(forceinstall) forcesync: False # Sets the Sync-Mode to Force, enables pushing breaking changes. $(forcesync) publish_scope: Global # Set the scope for publishing extensions. $(publish_scope) tenant: default # Tenant to publish to when Scope is set to Tenant. $(tenant) batch_publish_folder: # Path containing Apps to publish. $(batch_publish_folder) publisherazureactivedirectorytenantid: # Publisher Azure AD TenantId. $(publisherazureactivedirectorytenantid) blocksymbolsonly: False # Check App, block if SymbolsOnly App. $(blocksymbolsonly)
- ALOps Repository Publish Extension
- Publish extension to ALOps Repository.
- YAML Template:
- task: ALOpsRepositoryPublish@1 displayName: 'ALOps Repository Publish Extension' inputs: usedocker: False # Run task in Docker container. $(usedocker) fixed_tag: # Allows recycling of docker containers. $(fixed_tag) alops_repository_endpoint: api.businesscentral.dynamics.com# Azure API Endpoint. $(alops_repository_endpoint) alops_repository_username: # Username for ALOps API Endpoint. $(alops_repository_username) alops_repository_password: # Password for ALOps API Endpoint. $(alops_repository_password) artifact_path: # Path for App Artifact. $(artifact_path) app_artifact_filter: *.app # Path of the App to publish. Must be a fully qualified path or relative to $(System.DefaultWorkingDirectory). $(app_artifact_filter) upload_c_applications: False # Upload Applications from Applications folder. $(upload_c_applications)
- ALOps SaaS Get Extensions
- Replaced by Task [ALOps Extension API]
- YAML Template:
- task: ALOpsSaaSGetExtensions@1 displayName: 'ALOps SaaS Get Extensions' inputs: azure_api_endpoint: api.businesscentral.dynamics.com# Azure API Endpoint. $(azure_api_endpoint) azure_api_version: v2.0 # Azure API Endpoint version. $(azure_api_version) azure_tenant_id: # Azure Tenant Id. $(azure_tenant_id) azure_app_client_id: # Azure AD Application Client Id. $(azure_app_client_id) azure_app_client_secret: # Azure AD Application Client Secret. $(azure_app_client_secret) bc_impersonate_user: # Business Central User to impersonate. $(bc_impersonate_user) bc_impersonate_password: # Business Central User Password to impersonate. $(bc_impersonate_password) bc_environment: sandbox # Business Central environment to publish extension on. $(bc_environment) bc_companyname: # Business Central Company. $(bc_companyname)
- ALOps SaaS Publish Extension
- Replaced by Task [ALOps Extension API]
- YAML Template:
- task: ALOpsSaaSPublishExtension@1 displayName: 'ALOps SaaS Publish Extension' inputs: azure_api_endpoint: api.businesscentral.dynamics.com# Azure API Endpoint. $(azure_api_endpoint) azure_api_version: v2.0 # Azure API Endpoint version. $(azure_api_version) azure_tenant_id: # Azure Tenant Id. $(azure_tenant_id) azure_app_client_id: # Azure AD Application Client Id. $(azure_app_client_id) azure_app_client_secret: # Azure AD Application Client Secret. $(azure_app_client_secret) bc_impersonate_user: # Business Central User to impersonate. $(bc_impersonate_user) bc_impersonate_password: # Business Central User Password to impersonate. $(bc_impersonate_password) bc_environment: sandbox # Business Central environment to publish extension on. $(bc_environment) bc_companyname: # Business Central Company. $(bc_companyname) artifact_path: # Path for App Artifact. $(artifact_path) app_artifact_filter: *.app # Filter used for locating App file relative to $(path_to_publish). $(app_artifact_filter)