Private plugin repository
IDE Services comes with a plugin repository for IntelliJ-based plugins, streamlining the process of building and delivering plugins within your organization.
By default, IDE Services utilizes the IntelliJ plugin repository and automatically distributes the configuration to all IDEs. IDE Services offers several ways to upload a new plugin:
Upload manually using the Web UI
Upload via HTTP (for example, using cURL or similar HTTP-based methods)
Upload from Gradle via IntelliJ Plugin SDK
The IDE Services plugin repository comes with a secure way to manage access to specific plugins by uploading them to custom channels. Channels serve as a means to control plugin distribution, making it convenient to upload and test your company-specific plugins.
The default channel name is Stable. You can use any custom names for your channels.
Upload plugins
Upload plugins manually
In the Web UI, open the Plugins page.
Click Upload plugin.
If necessary, select plugin channels in the Channel field.
(Optional) Configure the expiration date for the plugin versions you want to upload. After this date, IDE Services will remove these plugin versions from the repository.
Drag one or several .zip files with the plugins you want to upload to the dedicated area. Alternatively, click the drag and drop area to select plugins in your file system.
Automate plugin distribution
To set up continuous delivery of plugins in IDE Services:
Create a new automation token to upload plugins.
Configure a CI tool of your choice to upload fresh plugin binaries to the IDE Services Server.
Configure auto-installed plugins to install plugins automatically on every developer machine.
Publish a plugin via cURL
Use the following cURL command to upload a plugin to the IDE Services Server:
Publish a plugin via Gradle intelliJ Plugin
Use the Gradle IntelliJ Plugin to upload custom plugins to the IDE Services Server.
In your build.gradle.kts file, configure the publishPlugin
task:
Manage plugins
Search for plugins
On the Plugins page, use the search field to find the necessary plugin by its name or vendor name.
Configure plugin details
To configure an existing plugin, click its name in the table.
IDE Services will open a page with plugin details.
Manage plugin versions
You can upload and distribute multiple versions of the same plugin. To manage plugin versions, click the link with the plugin name to open the page with plugin details.
Use the Upload new plugin version button to upload another plugin version. This functionality works the same way as described in Upload plugins.
Select one or multiple plugin versions using checkboxes and click Remove N versions to delete them.
Use the icon to download a particular plugin version.
Use the link icon to copy the plugin installation link.
Use the icon to remove a particular plugin version.
Use the icon in the Channels column to add a plugin version to a particular channel.
Use links in the Expiration date column to configure the expiration date for a particular plugin version.
Plugin channel and version logic
An auto-installed plugin can be available in several channels. In this case, the IDE will look for the highest plugin version from its available channels. Here's a more detailed explanation of how this works:
If the plugin is currently in the
Beta
channel, the IDE will receive the highest version from bothStable
andBeta
channels and will prompt the user to update.If the plugin is currently in the
Beta
channel, but the higher version is available in theGamma
channel, the IDE will not prompt the user to update.This is because the
Gamma
channel falls outside the scope of available channels for this plugin.If the plugin is currently in the
Beta
channel and is not forced, the user can manually switch to theStable
channel.In this case, they will start receiving the highest plugin version only from the
Stable
channel, and theBeta
channel will fall outside the scope.
Launch the consistency check
IDE Services originally hosts plugins in the S3 storage. To provide a smoother experience, some indexes have to be present in the PostgreSQL database. If you notice any inconsistency in the local plugin repository, try synchronizing these two types of storage. To launch the consistency check, click and select the Synchronize plugins option.
The action runs in a non-blocking manner, therefore, the results will not be available instantly. You can check the action progress in the IDE Services logs.
View plugin update history
You can check all the changes made to the plugin repository from the Plugins page of the Web UI. This includes operations with channels, uploading of new plugins or plugin versions, and so on. To access the history of changes, click and select the View update history option.
You can use the search field to filter the history and display only the changes made in a particular plugin.