| ms.subservice | azure-devops-ecosystem |
|---|---|
| title | Package and publish an integration |
| titleSuffix | Azure DevOps |
| description | Package and publish your integration to the Visual Studio Marketplace so users can discover your tool, service, or product. |
| ms.assetid | 61550050-c6d7-40e1-9ea7-030b48b04e3b |
| ms.topic | how-to |
| ms.custom | UpdateFrequency3 |
| monikerRange | <= azure-devops |
| ms.author | chcomley |
| author | chcomley |
| ms.date | 04/03/2026 |
| ai-usage | ai-assisted |
[!INCLUDE version-lt-eq-azure-devops]
Publish your tool, service, or product that integrates with Azure DevOps on the Visual Studio Marketplace. The Marketplace is the central hub for users to discover integrations and extensions.
Note
This article covers integrations (external tools and services). For extensions (add-ons that run inside Azure DevOps), see Package and publish extensions.
You also need the following assets:
- At least one screenshot of your integration
- A call-to-action or get-started URL for users
Create the following directory layout:
home/
├── images/
│ ├── integration-logo.png (128×128 px minimum)
│ └── screenshot.png (1366×768 px)
├── overview.md
└── vss-integration.json
| File | Purpose |
|---|---|
overview.md |
GitHub Flavored Markdown description of your integration. |
vss-integration.json |
Marketplace manifest. See Extension manifest reference. |
Create vss-integration.json with the following content, then update the values for your integration:
[!code-javascriptJSON]
Update fields using the following references:
Warning
Set public to false or omit it until you're ready for public visibility.
-
Install the packaging tool if you haven't already:
npm install -g tfx-cli
-
Package your integration into a .vsix file:
tfx extension create --manifest-globs vss-integration.json[!TIP] Use
--rev-versionto automatically increment the patch version number.
[!INCLUDE Publish_extension]
Before you can install an integration in an Azure DevOps organization, you must share it with that organization.
- Select your integration from the list of displayed items.
- Select Share.
- Enter the organization name (for example,
fabrikam-fiber-incfordev.azure.com/fabrikam-fiber-inc).
[!INCLUDE Update_extension]
To make your integration visible to all Marketplace users, set the public flag to true in your manifest and republish.
For more information about the qualifications required for public listings, see Make your extension public.