ALOps AppSource
Publish Business Central extensions to Microsoft AppSource via Partner Center Ingestion API.
| Property |
Value |
| Task name (Azure DevOps) |
ALOpsAppSource@3 |
| Action name (GitHub) |
alops-appsource |
| Version |
3.0.0 |
| Category |
Deploy |
| OS requirement |
Both |
| Preview |
yes |
Publishes Business Central .app files to Microsoft AppSource. Authenticates via Azure AD, discovers offerings, matches local apps, uploads packages via SAS URI, creates submissions, and optionally auto-promotes through the certification pipeline. Local apps are matched to offerings by comparing the 'Name' field of app.json against the 'Offer Alias' of each AppSource offering — they must be identical.
authentication
| Name |
Type |
Required |
Default |
Platform |
Description |
azure_tenant_id |
Text |
no |
(empty) |
Both |
Azure AD tenant ID for Partner Center authentication. Falls back to environment variable 'alops_tenant_id' if empty. |
azure_app_client_id |
Text |
no |
(empty) |
Both |
Azure AD application (client) ID for Partner Center authentication. Falls back to environment variable 'alops_application_id' if empty. |
azure_app_client_secret |
Secret |
no |
(empty) |
Both |
Azure AD client secret for Partner Center authentication. Falls back to environment variable 'alops_application_secret' if empty. Automatically masked in logs. |
offerings
| Name |
Type |
Required |
Default |
Platform |
Description |
offering_name_filter |
Text |
no |
(empty) |
Both |
Semicolon-separated list of offerings to include, matched against the AppSource 'Offer Alias' (the same value that must equal the local app.json 'Name'). Leave empty to process all Business Central offerings. |
apply_offering_version_filter |
Boolean |
no |
false |
Both |
When enabled, only uploads offerings where the local app version is higher than the currently published version. |
skip_version_change |
Boolean |
no |
false |
Both |
When enabled, skips updating the version number in Partner Center. Useful for re-submitting the same version. |
| Name |
Type |
Required |
Default |
Platform |
Description |
autopromote |
Boolean |
no |
false |
Both |
Automatically promote the submission to go live after it reaches 'ReadyToPublish' status. |
autopromote_check_delay |
Text |
no |
30 |
Both |
Seconds to wait between status polling attempts during auto-promotion. |
autopromote_max_tries |
Text |
no |
120 |
Both |
Maximum number of polling attempts before timing out during auto-promotion. |
Outputs
| Name |
Description |
submitted_offerings |
Comma-separated list of offering names that were submitted. |
submitted_count |
Number of offerings submitted. |
Usage