This extension provides Azure Pipelines tasks to package, publish, and manage Azure DevOps extensions in the Visual Studio Marketplace.
How to use
After installing this extension in your Azure DevOps organization, add one or more tasks to your Azure Pipelines YAML pipeline.
You can find an end-to-end example in this repository’s azure-pipelines.yml.
For authenticated operations, you can use either a Personal Access Token (PAT) or Microsoft Entra ID Workload Identity Federation (OIDC).
Required PAT scopes
When creating a PAT for pipeline automation, include at least the following scopes:
- Publish:
Marketplace (publish)
- Unpublish:
Marketplace (manage)
- Share:
Marketplace (publish)
- Unshare:
Marketplace (publish)
- Install:
Extensions (read and manage), Marketplace (acquire)
- Show:
Marketplace (read)
- Query version:
Marketplace (read)
- Wait for validation:
Marketplace (read)
- Wait for installation:
Extensions (read and manage), Agent Pools (read)
For setup details and troubleshooting, see:
Microsoft Entra ID Workload Federation (OIDC)
This extension supports Azure Pipelines service connections based on Azure Resource Manager + Workload Identity Federation.
- No long-lived PAT secret is required in your pipeline.
- Azure Pipelines requests short-lived tokens during the run.
- Use
connectionType: connectedService:AzureRM for non-package operations.
For setup details, required marketplace resource scope, and troubleshooting, see:
Azure Pipelines tasks
- Package: Package an Azure DevOps extension into a
.vsix file.
- Publish: Optionally package and publish an extension to the Visual Studio Marketplace.
- Unpublish: Remove an extension from the Visual Studio Marketplace.
- Share: Share an extension with an Azure DevOps organization.
- Unshare: Remove sharing for an extension from one or more Azure DevOps organizations.
- Install: Install an extension into an Azure DevOps organization.
- Show: Query extension metadata from the marketplace.
- Query version: Query the current extension version and optionally increment it.
- Wait for validation: Wait for Marketplace validation to finish.
- Wait for installation: Wait until extension tasks are available in target organizations.
GitHub Actions equivalent
This project also provides GitHub Actions equivalents for the same marketplace operations.
Source, feedback, and issues