Prerequisites
Before you begin, ensure you have:- A GitHub account
- Experience with AL-Go for GitHub (complete the PTE project setup first)
- A valid code signing certificate (
.pfxfile) for AppSource submission - Partner Center account (for AppSource delivery)
- Azure Key Vault (optional, for secret management)
Create Your Repository
Use the AL-Go AppSource template
Navigate to https://github.com/microsoft/AL-Go-AppSource and choose Use this template.
Add Your AppSource App Code
You have two options for adding your app code:Option 1: Create New App
Use the Create a new app workflow to generate a new app structure, similar to the PTE project setup.Option 2: Import Existing App
If you’re migrating from Azure DevOps or another source:Prepare your source code
- Download your entire source code as a
.zipfile - Upload to a secure location (Dropbox, Azure Blob Storage, etc.)
- Generate a secure download URL
Run the Add existing app workflow
- In your repository, go to Actions
- Select Add existing app or test app workflow
- Click Run workflow
- Paste the secure download URL
- Click Run Workflow
Configure AppSource Settings
The first CI/CD build will fail with an error about missing AppSource settings. You need to configure these:Set AppSource mandatory affixes
Edit Replace
.AL-Go/settings.json and add:YourPrefix with the affix(es) you want to enforce for your objects.Set Up Code Signing
AppSource apps must be code-signed. AL-Go supports multiple signing methods:Method 1: Azure Trusted Signing (Recommended)
Configure thetrustedSigning setting in .AL-Go/settings.json:
Your
Azure_Credentials secret needs the Trusted Signing Certificate Profile Signer role in the Trusted Signing Account.Method 2: Certificate File (Legacy)
Create two secrets in your repository or Azure Key Vault:- CodeSignCertificateUrl: Secure download URL to your
.pfxfile - CodeSignCertificatePassword: Password for the
.pfxfile
.AL-Go/settings.json:
Method 3: Azure Key Vault Certificate
Store your certificate directly in Azure Key Vault (requires Premium SKU):Configure AppSource Delivery
To enable automatic delivery to AppSource, configure thedeliverToAppSource setting:
You must create an
AppSourceContext secret with Partner Center credentials. See the Secrets documentation for details.AppSource Delivery Properties
| Property | Description | Default |
|---|---|---|
productId | Product ID from Partner Center | Required |
mainAppFolder | Folder containing the main app (if multiple apps) | - |
continuousDelivery | Auto-submit to AppSource validation on every build | false |
branches | Branch patterns allowed to deliver | ["main"] |
includeDependencies | Dependency files to include in submission | [] |
Verify Your Setup
After configuring all settings:Monitor the pipeline
Check the Actions tab to verify:
- AppSource Cop validation passes
- Apps are signed (look for the signing step in the pipeline)
- Build artifacts are created
Next Steps
Configure Settings
Learn about AppSource-specific settings and configurations
Manage Secrets
Set up Partner Center and Azure Key Vault authentication
Register Environments
Configure sandbox environments for testing
Create Releases
Create releases and submit to AppSource