Skip to main content
This guide shows you how to add AL-Go for GitHub CI/CD to an existing per-tenant extension project. We’ll use the BingMaps sample app as an example.

Prerequisites

Before you begin:
  • A GitHub account
  • An existing PTE app (source code as a .zip file or direct download URL)
  • Familiarity with AL-Go for GitHub basics
This example uses the BingMaps PTE sample app from https://github.com/microsoft/bcsamples-bingmaps.pte, but you can follow the same steps with your own app.

Prepare Your App

1

Locate your app artifact

You need either:
  • A direct download URL to a .zip file containing your app source code
  • The ability to upload your app to a temporary storage location
For the BingMaps example, navigate to https://github.com/microsoft/bcsamples-bingmaps.pte/releases and copy the URL to the bcsamples-bingmaps.pte-main-Apps artifact from the latest release.

Set Up the AL-Go Repository

1

Create repository from template

  1. Navigate to https://github.com/microsoft/AL-Go-PTE
  2. Click Use this template
  3. Enter a repository name (e.g., app2)
  4. Click Create Repository from template
2

Run the Add existing app workflow

  1. Go to Actions in your new repository
  2. Select the Add existing app or test app workflow
  3. Click Run workflow
3

Provide the download URL

In the Direct Download URL field, paste the direct download URL to your app’s .zip file and click Run workflow.
The URL must be a direct download link that returns the .zip file when accessed. Sharing links from cloud storage services need to be converted to direct download URLs.
4

Review the pull request

When the workflow completes:
  1. Navigate to Pull requests
  2. Review the pull request created by the workflow
  3. Examine the changes to ensure your app was imported correctly
5

Merge the pull request

Click Merge pull request to add your app to the repository.This will automatically trigger the CI/CD workflow.

Verify the CI/CD Pipeline

1

Monitor the CI/CD workflow

  1. Go to the Actions tab
  2. Click on the running CI/CD workflow
  3. Monitor the build progress
2

Review build results

After the workflow completes successfully:
  • Check the build summary for artifact information
  • Verify that your app compiled without errors
  • Download build artifacts if needed
3

Inspect build details

For detailed build information:
  1. Select the build job
  2. Expand the Run Pipeline section
  3. Review the Compiling apps subsection

Common Scenarios After Import

Once your app is imported and building successfully, you may want to:

Add Dependencies

If your app depends on other apps not included in the base Business Central artifacts:
{
  "appDependencyProbingPaths": [
    {
      "repo": "owner/repository",
      "version": "latest",
      "release_status": "release",
      "projects": "*"
    }
  ]
}
See the Settings documentation for more details.

Configure Multiple Apps

If your repository contains multiple apps, specify the folder structure:
{
  "appFolders": ["App1", "App2"],
  "testFolders": ["App1.Test", "App2.Test"]
}

Set Target Country

If your app targets a specific localization:
{
  "country": "w1"
}
Replace w1 with your target country code (us, dk, de, etc.).

Next Steps

With CI/CD configured, you can now:

Register Sandbox Environment

Set up a sandbox environment for automated deployment

Create a Release

Create versioned releases of your app

Register Production Environment

Configure production environment deployment

Configure Settings

Customize build and deployment settings

Troubleshooting

Build Fails with Missing Dependencies

If your build fails due to missing dependencies:
  1. Check the error message for the missing app name
  2. Add the dependency to appDependencyProbingPaths or installApps settings
  3. Commit the changes to trigger a new build

Authentication Issues

If you see authentication errors during workflows:
  1. Ensure all required secrets are configured
  2. Verify secret names match the settings indirection (if used)
  3. Check that secrets haven’t expired
See the Secrets documentation for authentication setup.

Code Analysis Warnings

To enable or adjust code analysis:
{
  "enableCodeCop": true,
  "enableUICop": true,
  "failOn": "error"
}
Setting failOn to warning will cause builds to fail on any warnings. Use error (default) for most scenarios.

Build docs developers (and LLMs) love