.AL-Go/settings.json) or in higher-level settings files.
Project Identity
Friendly name for the AL-Go project displayed in workflow UIs (CI/CD, Pull Request Build, etc.)If not set, the project name will be the relative path from the repository root.Example:
Localization
Specifies which country/region this app is built against.Supported values: us, w1, base, at, au, be, bg, br, ca, ch, co, cz, de, dk, ee, es, fi, fr, gb, gr, hk, hr, hu, ie, in, is, it, jp, kr, lt, lv, mx, nl, no, nz, pe, ph, pl, pt, ro, rs, se, si, sk, th, tr, tw, ua, vnExample:
Versioning
The project version number consisting of
<major>.<minor> (or <major>.<minor>.<build> when versioningStrategy is 3 or 19).Used for naming build artifacts in CI/CD workflows. Build artifacts are named <project>-Apps-<repoVersion>.<build>.<revision>.The version number is used as major.minor for individual apps when versioningStrategy is +16.Example:App and Test Folders
Array of folders (relative to project root) containing apps for this project.Apps in these folders are sorted based on dependencies and built and published in that order.If not specified, AL-Go will try to locate app folders in the root of the project.Example:
Array of folders (relative to project root) containing test apps for this project.Apps in these folders are sorted based on dependencies, built, published, and tests are run in that order.If not specified, AL-Go will try to locate test folders in the root of the project.Example:
Array of folders (relative to project root) containing BCPT performance test apps.Apps are sorted based on dependencies, built, published, and BCPT tests are run in that order.If not specified, AL-Go will try to locate BCPT test folders in the root of the project.Example:
Page Scripting Tests
Array of page scripting test file specifications, relative to the AL-Go project.File specification examples:
recordings/my*.yml- all YAML files in recordings subfolder matchingmy*.ymlrecordings- all*.ymlfiles in recordings subfolderrecordings/test.yml- single YAML file
When true, forces the pipeline to NOT run page scripting tests specified in
pageScriptingTests.This setting can be set in a workflow-specific settings file to apply only to that workflow.
Database Restoration
Array of events indicating when to start with clean databases in the container.Possible events:
BeforeBcptTestsBeforePageScriptingTestsBeforeEachTestAppBeforeEachBcptTestAppBeforeEachPageScriptingTest
Dependencies
Array of dependency specifications from which apps are downloaded when the CI/CD workflow starts.Each dependency specification consists of:
- repo - repository name
- version - version (default: latest)
- release_status - latestBuild/release/prerelease/draft (default: release)
- projects - projects (default: * = all)
- branch - branch (default: main)
- AuthTokenSecret - name of secret containing auth token (default: none)
Preprocessor Symbols
List of preprocessor symbols to use when building the apps.This setting can be specified in workflow-specific settings files or in conditional settings.Example:
Performance Testing
Structure with properties for thresholds when running performance tests using the Business Central Performance Toolkit.Properties:Example:
- DurationWarning - Warning if test duration degrades more than this percentage (default: 10)
- DurationError - Error if test duration degrades more than this percentage (default: 25)
- NumberOfSqlStmtsWarning - Warning if SQL statements increase more than this percentage (default: 5)
- NumberOfSqlStmtsError - Error if SQL statements increase more than this percentage (default: 10)
Errors and warnings on the build in GitHub are only issued when a threshold is exceeded at the codeunit level. Individual operation threshold exceedances are only shown in the test results viewer.
AppSource-Specific Settings
These settings only apply when the repository type is “AppSource App”.Array of affixes used for running AppSource Cop (only for AppSource App type).Example:
Enables AppSource Cop rule AS0105. Objects pending obsoletion with an obsolete tag version lower than this value are not allowed.Example:
Structure with properties for AppSource delivery from AL-Go for GitHub.Properties:Example:
- branches - Array of branch patterns allowed to deliver to AppSource (default: main)
- productId - Product ID from Partner Center (required)
- mainAppFolder - App folder of the main app if you have multiple apps
- continuousDelivery - Set to true to enable continuous delivery to AppSource Validation
- includeDependencies - Array of file names (with wildcards) for dependencies to include
You need to define an
AppSourceContext secret to publish to AppSource. Requires generateDependencyArtifact set to true for including dependencies.