Skip to content

Commit 81de3c7

Browse files
committed
refresh
1 parent 24bfe56 commit 81de3c7

File tree

2 files changed

+47
-62
lines changed

2 files changed

+47
-62
lines changed
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
To change an extension that's already published, update it.
1+
To update an extension you already published, do the following steps:
22

33
> [!TIP]
4-
> We recommend updating the extension over removing and re-uploading. We also recommend having two extensions, for example, `publisher.extension` and `publisher.extension-dev`.
5-
`Publisher.extension` is public in the Marketplace, where customers can install it in their Azure DevOps organizations. `Publisher.extension-dev` is kept private in the Marketplace and can be shared with an organization that you own and control.
6-
> You don't need to maintain two copies of source code of the extension. You can maintain two manifest files - one for each extension and during packaging of the extension you can provide the respective manifest file to the tfx-cli tool. For more information on arguments required for the tool, see [TFX extension commands](https://github.com/microsoft/tfs-cli/blob/master/docs/extensions.md#arguments).
4+
> Update your extension instead of removing and re-uploading it. We recommend maintaining two extensions: `publisher.extension`, public in the Marketplace for customers, and `publisher.extension-dev`, private, shared only with your organization for development and testing.
5+
> You don't need two copies of your source code—just maintain separate manifest files for each extension. When packaging, provide the appropriate manifest file to the tfx-cli tool. For more information, see [TFX extension commands](https://github.com/microsoft/tfs-cli/blob/master/docs/extensions.md#arguments).
76
8-
1. Select an extension from the list of displayed items.
9-
2. Right-click and select **Update** for the `publisher.extension-dev`, for example.
7+
1. Select your extension from the list of displayed items.
8+
2. Right-click and select **Update** for the development version, such as `publisher.extension-dev`.
109
3. Validate your extension.
11-
4. Make the same updates to the production version, `publisher.extension`, for example.
12-
5. Browse to the .vsix for your extension and upload it.
10+
4. Apply the same updates to the production version, such as `publisher.extension`.
11+
5. Browse to the .vsix file for your extension and upload it.
1312

14-
The updated version of your extension automatically gets installed to accounts that have it already installed. New accounts where the extension is installed in the future also receive the latest version.
13+
Azure DevOps automatically installs the updated version for all accounts that already have the extension. New installations also receive the latest version.

docs/extend/publish/integration.md

Lines changed: 39 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -7,75 +7,63 @@ ms.topic: conceptual
77
monikerRange: '<= azure-devops'
88
ms.author: chcomley
99
author: chcomley
10-
ms.date: 08/29/2016
10+
ms.date: 06/06/2025
1111
---
1212

1313
# Package and publish an integration to the Marketplace
1414

1515
[!INCLUDE [version-lt-eq-azure-devops](../../includes/version-lt-eq-azure-devops.md)]
1616

17-
Do you have a tool, service, or product that integrates with Azure DevOps or Team Foundation Server (TFS)?
18-
If so, help users find it by publishing it on the Visual Studio Marketplace.
19-
The Marketplace is a one-stop-shop for individuals and teams to find tools that extend and enhance the experience.
17+
This article explains how to publish your tool, service, or product that integrates with Azure DevOps on the Visual Studio Marketplace. Publishing on the Marketplace helps users discover solutions that extend and enhance their Azure DevOps experience. The Marketplace serves as the central hub for individuals and teams to find integrations and extensions.
2018

2119
[Browse the Marketplace](https://marketplace.visualstudio.com) to see examples of other integrations and extensions.
2220

2321
> [!NOTE]
24-
> If you're looking for packaging and publishing information for extensions, check out [Package & Publish Extensions](overview.md).
22+
> For packaging and publishing information for extensions, see [Package & Publish Extensions](overview.md).
2523
26-
## Publishing requirements
24+
## Prerequisites
2725

2826
[!INCLUDE [](includes/before-publishing.md)]
2927

30-
## What you need
28+
### Gather required assets
3129

32-
1. 128x128 pixel logo (PNG or JPEG format) representing your integration, yourself, or your company/organization
33-
2. Minimum of one screenshot showing your integration
34-
3. Call to action / get started URL (where users should go to get started with your integration)
30+
1. 128x128 pixel logo (PNG or JPEG) representing your integration, company, or organization.
31+
2. At least one screenshot of your integration.
32+
3. Call-to-action or get started URL for users.
3533

36-
## Steps
37-
38-
Publishing to the Marketplace is an iterative process that starts with creating a manifest file that defines your integration and key discovery characteristics (like screenshots, logos, and overview content). This information is used to present your integration to users on the Marketplace, for example:
39-
40-
![example](./media/integration-example.png)
41-
42-
[Jenkins for Azure DevOps](https://marketplace.visualstudio.com/items?itemName=ms-vsts.services-jenkins)
43-
44-
Note: The term, `extension`, is used in documentations referenced below. Extensions are another type of Marketplace item and share many similarities from a discovery standpoint as integrations.
45-
46-
<div class="alert alert-info">
47-
Need help with getting your integration on the Marketplace? <a href="https://go.microsoft.com/fwlink/?LinkId=615292" data-raw-source="[Contact us](https://go.microsoft.com/fwlink/?LinkId=615292)">Contact us</a>. And, yes, this e-mail address is monitored by real people.
48-
</div>
34+
> [!NOTE]
35+
> - The term `extension` is used in referenced documentation. Extensions are another type of Marketplace item and share many similarities with integrations.
36+
> - Need help getting your integration on the Marketplace? [Contact us](https://go.microsoft.com/fwlink/?LinkId=615292).
4937
50-
### Create a publisher
38+
### Create a publisher account
5139

5240
[!INCLUDE [](./includes/create-publisher.md)]
5341

54-
### Create a folder to contain your item manifest and other assets
42+
### Organize your manifest and assets
5543

56-
Before you package your integration as an extension, you'll need to create a `home` folder to contain some required assets, within this folder:
44+
To organize your mainfest and assets, do the following steps:
5745

58-
1. Create a folder called `images` to contain:
59-
* Logo for your integration (128x128 pixels)
46+
1. Create a `home` folder to store required assets.
47+
2. Create an `images` folder for:
48+
* Your integration logo (128x128 pixels)
6049
* Screenshots (1366x768 pixels)
61-
2. Create a file called `overview.md`
62-
* Describe your integration here
63-
* To learn more about Markdown, see [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown/)
64-
3. Create a file called `vss-integration.json`
65-
* This file is your Marketplace listing's manifest file, it contains many properties to describe your extension in your Marketplace listing. You can browse the [extension manifest reference here](../develop/manifest.md)
50+
3. Create an `overview.md` file to describe your integration. For more information, see [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown/).
51+
4. Create a `vss-integration.json` file, which is your Marketplace listing's manifest file. For more information, see the [extension manifest reference](../develop/manifest.md).
6652

67-
#### Extension Manifest
53+
#### Complete the extension manifest
54+
55+
Publishing to the Marketplace starts with creating a manifest file that defines your integration and its key discovery details (screenshots, logos, overview content). This information is used to present your integration to users on the Marketplace.
6856

6957
1. Fill your `vss-integration.json` file with the following JSON:
7058

7159
[!code-javascript[JSON](../_data/integration.json)]
7260

73-
2. Update the JSON using the following reference:
61+
2. Update the JSON using the following references:
7462

7563
[!INCLUDE [](../includes/manifest-core.md)]
7664
[!INCLUDE [](../includes/manifest-discovery.md)]
7765

78-
#### Details page
66+
#### Understand the details page
7967

8068
* 1 - description
8169
* 2 - icon
@@ -85,20 +73,20 @@ Before you package your integration as an extension, you'll need to create a `ho
8573
* 6 - links
8674
* 7 - branding
8775

88-
![card](../develop/media/extension-details-page.png)
76+
![Screenshot shows details card for extension in the Visual Studio Marketplace.](../develop/media/extension-details-page.png)
8977

90-
<div class="alert alert-danger">
91-
Make sure the &quot;public&quot; attribute gets set to &quot;false&quot; (or not set at all) to avoid your extension or integration from becoming prematurely visible to all users on the Marketplace.
92-
</div>
78+
> [!WARNING]
79+
> Set the `public` attribute to `false` or omit it to prevent your integration from becoming visible to all Marketplace users before you're ready.
9380
9481
<a name="package"></a>
9582

9683
### Package your manifest and assets
9784

98-
#### Get the package tool (tfx-cli)
99-
You can install or update the Cross-platform CLI for Azure DevOps (tfx-cli) using `npm`, a component of [Node.js](https://nodejs.org), from your command line.
85+
#### Install the package tool (tfx-cli)
10086

101-
```no-highlight
87+
Install or update the cross-platform CLI for Azure DevOps (tfx-cli) using `npm`:
88+
89+
```bash
10290
npm i -g tfx-cli
10391
```
10492

@@ -109,29 +97,27 @@ tfx extension create --manifest-globs vss-extension.json
10997
```
11098

11199
> [!NOTE]
112-
> An extension/integration's version must be incremented on every update. <br>
113-
> If you haven't incremented your extension/integration in the manifest, you should pass the `--rev-version` command line switch. This increments the *patch* version number of your extension and saves the new version to your manifest.
100+
> Increment the version of your extension or integration with every update.
101+
> If you haven't updated the version in your manifest, use the `--rev-version` command line switch. This switch automatically increments the *patch* version number and saves the new version to your manifest.
114102
115103
### Publish your integration to the Marketplace
116104

117105
[!INCLUDE [Publish_extension](../includes/procedures/publish.md)]
118106

119107
### Share your integration
120-
Before you can install an integration into an organization in Azure DevOps or TFS, you must share it with that organization. Sharing is a requirement during development and testing of an integration, as it's the only way to run an integration.
121108

122-
To share an integration do the following tasks:
109+
Before installing an integration in an Azure DevOps organization, share it with that organization. Sharing is required for development and testing, as it's the only way to run an integration during these stages.
110+
111+
To share an integration do the following steps:
123112

124113
1. Select an integration from the list of displayed items
125114
2. Select the **Share** button
126-
3. Specify the name of the organization to make this integration visible to.
127-
- For example, to make an integration visible to the **dev.azure.com/fabrikam-fiber-inc** organization, specify `fabrikam-fiber-inc`.
115+
3. Specify the name of the organization to make this integration visible to. For example, to make an integration visible to the **dev.azure.com/fabrikam-fiber-inc** organization, specify `fabrikam-fiber-inc`.
128116

129117
#### Update an item
130118

131119
[!INCLUDE [Update_extension](../includes/procedures/update.md)]
132120

133-
## Make your integration public (visible to everyone)
134-
135-
For information on making your integration public, visit [Make your listing public](./publicize.md).
136-
121+
## Make your integration public
137122

123+
For information on making your integration visible to everyone, see [Make your listing public](./publicize.md).

0 commit comments

Comments
 (0)