- 
                Notifications
    You must be signed in to change notification settings 
- Fork 103
Description
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.