You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To change an extension that's already published, update it.
1
+
To update an extension you already published, do the following steps:
2
2
3
3
> [!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).
7
6
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`.
10
9
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.
13
12
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.
The following list of requirements must be met before you publish to the Marketplace.
2
2
3
-
- Install the extension packaging tool (TFX). Run `npm install -g tfx-cli` from a command prompt.
4
-
- Ensure the proper permissions are granted to use any images, for example, icons, logos, screenshots, and so on.
5
-
- Include a thorough `overview.md` file to describe your listing in the Marketplace.
6
-
- Include an icon for your extension, which is at least 128x128 pixels in size.
7
-
- When you refer to Microsoft products, use full names in place of abbreviations, for example, Azure DevOps vs. AzDO or - any other abbreviation.
8
-
- Refrain from using brand names in the name of your extension.
3
+
| Category | Requirements |
4
+
|-------------------------|------------------|
5
+
| Packaging tool | Install the extension packaging tool (TFX). Run `npm install -g tfx-cli` from a command prompt. |
6
+
| Image permissions | Ensure you have proper permissions to use any images, like icons, logos, screenshots, and so on. |
7
+
| Marketplace overview | Include a thorough `overview.md` file to describe your listing in the Marketplace. |
8
+
| Extension icon | Include an icon for your extension that represents your integration, company, or organization, at least 128x128 pixels in size (PNG or JPEG). |
9
+
| Microsoft product names | Use full names for Microsoft products (for example, Azure DevOps instead of AzDO or other abbreviations). |
10
+
| Brand names | Don't use brand names in the name of your extension. |
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.
20
18
21
19
[Browse the Marketplace](https://marketplace.visualstudio.com) to see examples of other integrations and extensions.
22
20
23
21
> [!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).
25
23
26
-
## Publishing requirements
24
+
## Prerequisites
27
25
28
26
[!INCLUDE [](includes/before-publishing.md)]
29
27
30
-
##What you need
28
+
### Gather required assets
31
29
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
+
- At least one screenshot of your integration.
31
+
- Call-to-action or get started URL for users.
35
32
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
-

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
-
<divclass="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>
33
+
> [!NOTE]
34
+
> - The term `extension` is used in referenced documentation. Extensions are another type of Marketplace item and share many similarities with integrations.
35
+
> - Need help getting your integration on the Marketplace? [Contact us](https://go.microsoft.com/fwlink/?LinkId=615292).
49
36
50
-
### Create a publisher
37
+
### Create a publisher account
51
38
52
39
[!INCLUDE [](./includes/create-publisher.md)]
53
40
54
-
### Create a folder to contain your item manifest and other assets
41
+
### Organize your manifest and assets
55
42
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:
43
+
To organize your manifest and assets, do the following steps:
57
44
58
-
1. Create a folder called `images` to contain:
59
-
* Logo for your integration (128x128 pixels)
45
+
1. Create a `home` folder to store required assets.
46
+
2. Create an `images` folder for:
47
+
* Your integration logo (128x128 pixels)
60
48
* 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)
49
+
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/).
50
+
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).
66
51
67
-
#### Extension Manifest
52
+
#### Complete the extension manifest
53
+
54
+
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.
68
55
69
56
1. Fill your `vss-integration.json` file with the following JSON:

89
76
90
-
<divclass="alert alert-danger">
91
-
Make sure the "public" attribute gets set to "false" (or not set at all) to avoid your extension or integration from becoming prematurely visible to all users on the Marketplace.
92
-
</div>
77
+
> [!WARNING]
78
+
> Set the `public` attribute to `false` or omit it to prevent your integration from becoming visible to all Marketplace users before you're ready.
93
79
94
80
<aname="package"></a>
95
81
96
82
### Package your manifest and assets
97
83
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.
84
+
#### Install the package tool (tfx-cli)
100
85
101
-
```no-highlight
86
+
Install or update the cross-platform CLI for Azure DevOps (tfx-cli) using `npm`:
> 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.
99
+
> Increment the version of your extension or integration with every update.
100
+
> 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.
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.
121
107
122
-
To share an integration do the following tasks:
108
+
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.
109
+
110
+
To share an integration do the following steps:
123
111
124
112
1. Select an integration from the list of displayed items
125
113
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`.
114
+
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`.
0 commit comments