ALOpsExtensionAPI v1

- task: ALOpsExtensionAPI@1
  displayName: 'ALOps Extension API'
  inputs:
    usedocker: False                                                                            # Run this task inside the Business Central Docker container identified by the fixed tag. Requires a running container started by ALOps Docker Start or ALOps Docker Create. $(usedocker)
    fixed_tag:                                                                                  # Fixed name tag for the Docker container. Allows the same container to be reused across multiple pipeline tasks instead of creating a new container each time. $(fixed_tag)
    interaction: get                                                                            # API operation to perform. get lists extensions currently installed on the environment. publish deploys a single .app file. batch deploys multiple .app files in dependency order. $(interaction)
    api_endpoint: https://api.businesscentral.dynamics.com/v2.0/$(azure_tenant_id)/Sandbox/api  # Base URL of the Business Central API, for example https://api.businesscentral.dynamics.com/v2.0/{tenant}/Sandbox/api for SaaS or http://server:port/BC/api for on-premises. $(api_endpoint)
    dev_endpoint:                                                                               # URL of the Business Central development endpoint used when deploying via the DEV port, for example http://server:7049/BC/dev. $(dev_endpoint)
    dev_schemeupdatemode: synchronize                                                           # Schema update mode when publishing via the DEV endpoint. synchronize adds new schema objects. recreate drops and recreates tables. forcesync allows breaking changes. $(dev_schemeupdatemode)
    dev_dependencypublishingoption: none                                                        # Dependency handling when publishing via the DEV endpoint. none skips dependencies. default resolves them automatically. ignore skips dependency checks. strict fails if any dependency is missing. $(dev_dependencypublishingoption)
    apiversion: v1.0                                                                            # Version of the Business Central API to use. Supported values are beta, v1.0, and v2.0. Use v2.0 for access to schedule and schema sync mode features. $(apiversion)
    authentication: oauth                                                                       # Authentication method for the API connection. oauth uses Azure AD service-to-service tokens (recommended for SaaS). basic and usernamepassword use user credentials. windows uses Windows integrated authentication. $(authentication)
    azure_tenant_id:                                                                            # Azure Active Directory tenant ID (GUID or domain) of the Business Central SaaS tenant. $(azure_tenant_id)
    azure_app_client_id:                                                                        # Application (client) ID of the Azure AD app registration used for OAuth authentication. $(azure_app_client_id)
    azure_app_client_secret:                                                                    # Client secret of the Azure AD app registration. Store this value in a pipeline secret variable or Azure Key Vault. $(azure_app_client_secret)
    azure_app_client_certificate:                                                               # Path or base-64 encoded content of the certificate used instead of a client secret for Azure AD app authentication. $(azure_app_client_certificate)
    azure_app_client_certificate_password:                                                      # Password protecting the Azure AD client certificate. Store this in a pipeline secret variable. $(azure_app_client_certificate_password)
    username:                                                                                   # Business Central user account name for basic or usernamepassword authentication. Leave empty for Service-to-Service OAuth authentication. $(username)
    password:                                                                                   # Password for the Business Central user account. Leave empty for Service-to-Service authentication. Store this in a pipeline secret variable. $(password)
    bccompany:                                                                                  # Name or GUID of the Business Central company context for the API call. Leave empty to use the default company. $(bccompany)
    artifact_path: $(System.ArtifactsDirectory)                                                 # Folder containing the .app files to deploy. In multi-stage pipelines, use $(Pipeline.Workspace) to access artifacts from earlier stages. $(artifact_path)
    artifact_filter: *.app                                                                      # Glob filter applied inside artifact_path to select which .app files to deploy, for example *.app. $(artifact_filter)
    showdeploymentstatus: True                                                                  # When enabled, the task polls and displays the extension deployment status after publishing until the operation completes or times out. $(showdeploymentstatus)
    vsix_only: False                                                                            # Use only the AL compiler VSIX for symbol resolution and skip BC artifact downloads. Enable this to speed up pipelines that do not need full BC artifact packages. $(vsix_only)
    checksecondsdelay: 30                                                                       # Number of seconds to wait between polls when checking deployment status. Increase this for environments with slower deployment operations. $(checksecondsdelay)
    maxtries: 20                                                                                # Maximum number of deployment status polls before the task times out. Multiply by checksecondsdelay for the total maximum wait time. $(maxtries)
    replacepackageid: False                                                                     # Generate a new package GUID for each deployment. This forces Business Central to treat each deploy as a fresh installation rather than an upgrade. $(replacepackageid)
    blocksymbolsonly: False                                                                     # When enabled, the task checks whether the .app is a symbols-only package and blocks deployment if it is, preventing accidental publishing of placeholder apps. $(blocksymbolsonly)
    schedule: current                                                                           # Deployment schedule for the extension. current deploys immediately. nextminor schedules for the next minor BC update. nextmajor schedules for the next major update. Requires API version 2.0. $(schedule)
    schema_sync_mode: add                                                                       # Schema synchronization mode for the extension deployment. add only adds new schema objects. forcesync allows breaking schema changes. Requires API version 2.0. $(schema_sync_mode)
    pwsh: False                                                                                 # Run the task using PowerShell Core (pwsh) instead of Windows PowerShell. Required on Linux-hosted build agents. $(pwsh)