JetBrains Marketplace Help

Plugin repository REST client

JetBrains is maintaining an official client and CLI (command line interface) for JetBrains Marketplace.

You can find it in the plugin-repository-rest-client GitHub repository.

Examples

The code snippet below will initiate the instance of JetBrains Marketplace.

val instance = PluginRepositoryFactory.create("https://plugins.jetbrains.com", "authToken")

Download plugin

instance.downloader.download("org.jetbrains.plugins.go", version, into, channel)

Upload update and new plugins

The code snippet below will init the instance of JetBrains Marketplace. You need to provide a permanent hub token to authorize.

// upload update to existing plugin instance.uploader.uploadPlugin("org.jetbrains.kotlin", file, channel, notes) // upload new plugin to JetBrains Marketplace instance.uploader.uploadNewPlugin(file, categoryId, licenseUrl)

Plugin info

val pluginMeta = instance.pluginUpdateManager.getIntellijUpdateMetadata(pluginId, updateId) val updateInfo = instance.pluginUpdateManager.getUpdatesByVersionAndFamily("org.jetbrains.kotlin", version, family) val plugin = instance.pluginManager.getPlugin(pluginId)

Settings

MARKETPLACE_MAX_PARALLEL_CONNECTIONS system property - The maximum number of requests to execute concurrently. Default: 16.

Client

The org.jetbrains.intellij.pluginRepository.Client main class provides command line interface for uploading, downloading and listing plugins on the plugin repository.

https://search.maven.org/artifact/org.jetbrains.intellij/plugin-repository-rest-client

Last modified: 18 January 2024