Open
Conversation
Currently in air-gapped environments, the plugin's two modes for resolving JetBrains IDE versions are both insufficient at scale: - online mode fetches feeds from a hardcoded URL (https://data.services.jetbrains.com/), which is unreachable in air-gapped networks. - offline mode (--offline-mode) reads local release.json/eap.json files from each client machine's data directory, requiring manual distribution of feed files to every developer workstation. Organizations running JetBrains IDE Services in an air-gapped network have no way to point the plugin at their internal instance for feed resolution. This PR introduces support for a configuration setting where a base URL pointing to a self-hosted web server serving data feeds very similar to data.services.jetbrains.com. Similar query path and same data structures are used. The fallback sequence is the following: - if --offline-mode is present we first try to read the local release.json/eap.json. If they are not found we fall back to the ide feed base URL if it is configured. - in online mode we use the ide feed base URL if it is configured, data.services.jetbrains.com otherwise.
code-asher
approved these changes
Apr 10, 2026
Comment on lines
+88
to
+89
| context.logger.info("No local feed files found, falling back to custom IDE feed URL") | ||
| loadIdesOnline() |
Member
There was a problem hiding this comment.
This is definitely a big nit so feel free to ignore, but it feels weird to call something called online under a block of isOffline.
Wonder if we should do something like loadIdesFromFeed(feedUrl) or something, where passing in the feed URL would make it obvious that we were loading from a user-provided value or from jetbrains.com?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently in air-gapped environments, the plugin's two modes for resolving JetBrains IDE versions are both insufficient at scale:
Organizations running JetBrains IDE Services in an air-gapped network have no way to point the plugin at their internal instance for feed resolution.
This PR introduces support for a configuration setting where a base URL pointing to a self-hosted web server serving data feeds very similar to data.services.jetbrains.com. Similar query path and same data structures are used. The fallback sequence is the following: