Skip to content

Use reliable ways to determine tool versions for intellij #1132

@hohwille

Description

@hohwille

The way we determine available versions of tools/editions via HTML regex extraction seems rather hackish and unreliable.
Just by observing the Intellij download website with the browser-debugger, I found this excellent JSON API:
https://data.services.jetbrains.com/products?code=IIU%2CIIC&release.type=release&_=1682672979887

it seems to return an array of products (currently 2: IntelliJ IDEA Ultimate and IntelliJ IDEA Community Edition with proper stable codes to distinguish). Each of them has a sub-object called releases with an array containing all releases that have a proper version property as well as an object downloads with a download for each OS + architecture combination containing the download link itself as well as size and checksumLink pointing to an SHA256 checksum hash.

This is just my first dig out after spending a few minutes time on this as I was wondering why on earth we are including selenium (and end-to-end testing framework in url-updater to download the HTML of intellij release website to extract release version from here.

The UrlUpdater design might need a little tweak to perfectly utilize this excellent JSON API from jetbrains but this is IMHO the way to go.
Further I believe that we can more or less replace all these HTML grepping hacks with such proper solutions.

Metadata

Metadata

Assignees

Labels

SCMsoftware-configuration-management (github actions, internal processes, git or github utilization)enhancementNew feature or requestsoftwaresoftware-package with 3rd party productsurlside-urls repo and related processes and features

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions