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.
The code snippet below will initiate the instance of JetBrains Marketplace.
val instance = PluginRepositoryFactory.create("https://plugins.jetbrains.com", "authToken")
instance.downloader.download("org.jetbrains.plugins.go", version, into, channel)
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)
val pluginMeta = instance.pluginUpdateManager.getIntellijUpdateMetadata(pluginId, updateId)
val updateInfo = instance.pluginUpdateManager.getUpdatesByVersionAndFamily("org.jetbrains.kotlin", version, family)
val plugin = instance.pluginManager.getPlugin(pluginId)
MARKETPLACE_MAX_PARALLEL_CONNECTIONS
system property - The maximum number of requests to execute concurrently. Default: 16
.
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
Thanks for your feedback!