Uploading a new plugin
In order to upload a new plugin, you must first log in to JetBrains Marketplace. Then, navigate to your user account menu and select Upload plugin.

Uploading a new plugin is a two-step process:
Select the Vendor profile under which you’re publishing the plugin.
The plugin can be published under your Individual or Organization profile. If you haven't uploaded any plugins to JetBrains Marketplace, you will be required to accept the JetBrains Marketplace Developer Agreement and create your Vendor profile.
Submit plugin details.
File size: The maximum size allowed for a plugin is 400 MB.
License: You must provide your own end user license agreement with any plugin via JetBrains Marketplace. We cannot recommend any specific licenses, though we can point you either to commonly used open-source licenses or the EULA.
Tags: When you upload a new plugin, please make sure to choose the correct tags as they are used as search filters. Incorrect tags can lead to irrelevant search results and may impact the discoverability of your plugin.
Channels: If you do not want your plugin to be generally available (like if it is an Alpha, Beta, or EAP version), please add a Custom Release Channel.
Hidden flag: This lets you keep the plugin hidden, even after approval.
Uploading TeamCity Recipes
TeamCity Recipes are custom build steps that can be added to TeamCity build configurations. TeamCity supports two types of recipes:
Private recipes — recipes that are not uploaded to JetBrains Marketplace. Typically, these are extracted from existing build configurations on a TeamCity server, and only used on the same server.
Public recipes — JetBrains Marketplace recipes authored by JetBrains or 3rd-party vendors. If a TeamCity project allows public recipes (Project Settings | Recipes), these recipes are shown next to built-in TeamCity steps.
When uploading new TeamCity recipes to JetBrains Marketplace, make sure you select TeamCity Recipes in the Plugin For drop-down menu, and select a YAML recipe definition to upload.

Since public recipes can appear together in the TeamCity UI, they must have unique IDs. A recipe ID combines a vendor namespace and a recipe name. For example, the following recipe has the jetbrains/pin-build
ID, where jetbrains
is the namespace and pin-build
is the recipe name.
When uploading your first recipe, enter a namespace in the corresponding field to create it. All future recipes you upload should use the same namespace in their YAML files.
Other settings (vendor details, license type, source code URL, and so on) are specified identically to regular plugins.