Skip to content
| Marketplace
Sign in
Azure DevOps>Azure Pipelines>AL Studio DevOps
AL Studio DevOps

AL Studio DevOps

Dynasist Solutions Kft.

|
57 installs
| (0) | Preview
Automated Tasks for Business Central (AL) extension pipelines, powered by AL Studio.
Get it free

AL Studio DevOps

A set of Pipeline tasks that are powered by AL Studio engine. This Azure DevOps Services extension is a complementary package that automates several features of the VSCode extension.

AL Studio is a premium Visual Studio Code extension with a free, community edition.

VSCode Marketplace: https://marketplace.visualstudio.com/items?itemName=dynasist.al-studio

Premium subscription can be purchased on our website: https://al.studio/pricing


Introduction

AL Studio is a set of visual tools for editing, navigating or documenting AL Objects without complex running environments. It is built with a holistic approach that aims to provide users with better understanding of their whole workspace.

Product showcase

Visit out our YouTube channel to see AL Studio features in motion.

Pipeline Tasks

Tasks are built upon the command line interface of AL Studio engine.

Task Name Friendly Name Description
ALStudioSetup AL Studio Setup Install and activate AL Studio executable.
ALStudioDocs AL Studio Generate Documentation Create API documentation of workspace apps in MarkDown format.
ALStudioTransferFields AL Studio TransferFields Validation Validate and enforce transferfield rules across apps.
ALStudioTranslate AL Studio Translation Helper Synchronize, pre-translate, collect XLIFF resources.

ALStudioSetup

Install and activate AL Studio executable.

Parameters

Product Branch: branch (pickList: develop, staging, production)

Select source branch to download AL Studio engine from.

License Key: licenseKey (string)

AL Studio license key for Pipeline tasks. This is provided to active subscribers.

ALStudioDocs

Create API documentation of workspace apps in MarkDown format.

Parameters

Workspace Folder: workspace (filepath)

Main folder of workspace apps.

Output Folder: output (filepath)

Output folder of generated documentation.

Public Methods Only: publicOnly (boolean)

Includes publicly available functions only.

ALStudioTransferFields

Ensure the integrity of Transferfields rules using validation json definitions per extensions.

Parameters

Workspace Folder: workspace (filepath)

Main folder of workspace or folder of XLIFF files.

Output Folder: output (filepath)

Output filepath of the validation result json. You need to specify the complete path including filename.

Validation Rules:

Validation works using ruleset files named transferfields.rules.json that are placed into the root of each app folder. You can define rules per app.

[
    {
        "Name": "Custom Table Transferfields",
        "Source": "MySalesTable",
        "Fields": [
            {
                "Id": 1,
                "Requirement": 2
            },
            {
                "Id": 2,
                "Requirement": 2
            },
            {
                "Id": 3,
                "Requirement": 2
            },
            {
                "Id": 5,
                "Requirement": 1
            }
        ],
        "Destinations": [
            "MySalesTargetTable1",
            "MySalesTargetTable2"
        ],
        "ErrorAction": 2
    }
]

Fields that are not listed in Fields member will still be validated using Default requirement type.

Requirement values:

Value Name Description
0 Default Standard behaviour is validated only, e.g. Field Type match
1 MustOmit Specifies that a field must not be present in related tables
2 Required Specifies that a field must be present in related tables

ErrorAction values:

Value Name Description
0 None Validation is turned off.
1 Warning Validation result only create output as warning, with ExitCode 0
2 Error Validation runs normally with ExitCode 0/1 depending on result

Validation result:

Result is displayed on command line output and also can be saved into a json file.

  • Successful validation returns ExitCode 0.
  • Failure returns ExitCode 1, so it will break the build.

ALStudioTranslate

Automated processing of XLIFF files. You can synchronize files, pre-translate them using machine translation or existing references files, collect files into a zip file.

Parameters

Workspace Folder: workspace (filepath)

Main folder of workspace or folder of XLIFF files.

Output Folder: output (filepath)

Output folder of processed translation files.

Use Machine Translation: useMachineTranslation (boolean)

Use machine translation for missing entries and also for entries with new or needs-translation status.

Translation provider: translationProvider (pickList: deepl, azure)

Select Machine Translation provider. Supported providers:

  • DeepL (http://deepl.com)
  • Azure Cognitive Services

Translation Provider API Key: apiKey (string)

Specify API Key for Machine Translation provider.

Reference Cache folders: references (multiline)

Folder paths for reference dictionary XLIFF files.

Preserve Folder Structure: preserveFolderStructure (boolean)

Preserve folder structure when copy XLIFF files to output path

Zip Output folder: zip (boolean)

Create a ZIP file from output files to the Output Path

Example Pipeline YAML


...

- task: ALStudioSetup@1
  displayName: 'ALStudio Setup'
  inputs:
    branch: 'develop'
    licenseKey: $(LICENSE_KEY)

- task: ALStudioTranslate@1
  displayName: 'ALStudio Translate'
  inputs:
    workspace: 'MainApp'
    output: 'TranslationResult'
    useMachineTranslation: true
    zip: true

- task: ALStudioDocs@1
  displayName: 'ALStudio Docs'
  inputs:
    workspace: 'MainApp'
    output: 'Docs'

- task: ALStudioTransferFields@1
  displayName: 'ALStudio TransferFields Check'
  inputs:
    workspace: 'MainApp'
    output: 'MainApp\transferfields.result.json'

- task: CopyFiles@2
  displayName: 'Copy Translation Result'
  inputs:
    SourceFolder: 'TranslationResult'
    Contents: '*.zip'
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: CopyFiles@2
  displayName: 'Copy Documentation'
  inputs:
    SourceFolder: 'Docs'
    Contents: '*.md'
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: CopyFiles@2
  displayName: 'Copy Transferfield Results'
  inputs:
    SourceFolder: 'MainApp'
    Contents: 'transferfields.result.json'
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  displayName: 'Publish collected artifacts'
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'MyArtifact'

...

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft