Oracle JavaリリースのパブリックAPI
JMSは、2019年7月以降のCPUから、すべてのOracle Javaパブリック・リリースに関する情報にアクセスするためのAPIを提供します。これらのRESTful APIは、重要なJavaリリース・データへのアクセスを提供し、システム管理者がJavaリリース情報を業務ワークフローにシームレスに統合できるようにします。
APIは、java.oraclecloud.comドメインを介してアクセスでき、認証または認可なしで使用できます。また、JMS Javaダウンロードを介して必要なJavaバージョンをダウンロードするためのスクリプト・フレンドリ・ダウンロード・コマンドも用意されています。 
               
Java REST API
Oracle Javaパブリック・リリースに関する包括的な情報を提供する次のAPIを使用できます。APIごとに、特定の情報をフィルタ処理するために使用できる入力パラメータがあります。
Javaバージョン
JavaバージョンAPI - https://java.oraclecloud.com/javaVersions: Oracle Javaバージョンのリストを取得します。各Javaバージョンについて、このAPIには次の情報が表示されます:
- docUrl: ドキュメントURLを提供します。
- endOfSupportLifeDate: Javaリリースのサポート終了日を指定します。
- jdkVersion: JDKのバージョン番号を指定します。
- isSupportedVersion: JDKバージョンがサポートされているかどうかを示します。値はTrueまたはFalseです。
- latestReleaseVersion: JDKリリースの最新バージョン番号を指定します。
- isLts: リリースが長期サポート(LTS)かどうかを示します。値はTrueまたはFalseです。
入力パラメータ
- jdkVersion(文字列): 8、11、17、21などのメジャーJavaバージョンで結果をフィルタします
- isSupportedVersion(ブール): Oracleサポート・ステータスで結果をフィルタします。指定できる値:- <true>
- isLts(ブール): 長期サポート・ステータスで結果をフィルタします。指定できる値は- <true or false>です
- sortBy(文字列): 結果を- jdkVersion(デフォルト値)または- endOfSupportLifeDateでソートします。
- sortOrder(文字列): 結果を- DESC(デフォルト値)または- ASCでソートします。
Javaリリース
- artifactContentTypes: Javaリリースがセキュリティ・ベースラインの下にある最小日数や、スクリプト・ダウンロード・コマンドがJMS Javaダウンロード・ページから使用できるかどうかなどの詳細を提供します。
- jdkDetails: Javaバージョンの詳細を示します。
- licenseDetails: 表示名、ライセンス・タイプ、ライセンスURLなどの詳細を指定します。
- releaseDate: 特定のJDKバージョンのリリース日を指定します。
- releaseNotesUrl: JDKリリースのURLを表示します。
- releaseType: CPU、FEATURE、PATCH_RELEASEなどのリリースのタイプを示します。
- releaseVersion: 特定のJavaリリースのバージョン番号を指定します。
- releaseFullVersion: 特定のJavaリリースのビルド番号(- jdk-22.0.1+8など)を含む完全なバージョンを提供します。
- securityStatus: リリースのセキュリティ・ステータス(- UP_TO_DATE、- UPDATE_REQUIRED、- UPGRADE_REQUIRED、- UNKNOWNなど)を示します。
入力パラメータ
- jdkVersion(文字列): 8、11、17、21などのメジャーJavaバージョンで結果をフィルタします
- isSupportedVersion(ブール): Oracleサポート・ステータスで結果をフィルタします。指定できる値:- <true>
- isLts(ブール): 長期サポート・ステータスで結果をフィルタします。指定できる値は- <true or false>です
- licenseType(文字列):- OTNや- NFTCなどのライセンス・タイプで結果をフィルタします
- releaseType(文字列):- CPU、- FEATURE、- PATCH_RELEASEなどのリリース・タイプで結果をフィルタします。
- releaseVersion(文字列): Javaリリース・バージョンによる結果のフィルタ
- securityStatus(文字列):- UP_TO_DATE、- UPDATE_REQUIRED、- UPGRADE_REQUIRED、- UNKNOWNなどのセキュリティ・ステータスで結果をフィルタします。
- daysUnderSecurityBaseline(整数): セキュリティ・ベースラインを下回る日数で結果をフィルタします。0日間は最新であることを示します。
- sortBy(文字列): 結果を- releaseDate(デフォルト値)、- releaseVersion、- jdkVersionまたは- licenseTypeでソートします
- sortOrder(文字列): 結果を- DESC(デフォルト値)または- ASCでソートします。
Java特定バージョンのリリース
Javaリリースの特定のバージョンAPI - https://java.oraclecloud.com/javaReleases/<$releaseVersion> (https://java.oraclecloud.com/javaReleases APIのreleaseVersion値を使用して、そのリリースの詳細を表示します。たとえば、https://java.oraclecloud.com/javaReleases/11.0.17または https://java.oraclecloud.com/javaReleases/1.8.0_421です。 
                     
このAPIは、そのリリース・バージョンで使用可能なすべてのアーティファクトを含む、その特定のリリースに関する完全な情報を取得します。APIでは、Javaリリースごとに次のようなアーティファクト・プロパティが表示されます。
- downloadFileSizeInBytes: パッケージのファイル・サイズを指定します。
- artifactType: JDK、JRE、SERVER_JREなどのアーティファクト・タイプを示します。
- osFamily: Linux、Windows、macOSなどのアーティファクトの対応するオペレーティング・システムを示します。
- architecture:- aarch64、- x64、- sparcv9、- i586、- arm32などのオペレーティング・システムのアーキテクチャを示します。
- packageType:- zip、- exe、- dmg、- deb、- rpm、- tar.gz、- msi、- tar.Zなど、サポートされているパッケージ・タイプを示します。
- downloadCommand: JMS Javaダウンロード・ページからパッケージをダウンロードできるスクリプト・フレンドリ・ダウンロード・コマンドを提供します。シームレスにダウンロードできるように、正しいトークンIDを指定してください。
- downloadUrl: JMS Javaダウンロード・ページからパッケージをダウンロードするために使用できるスクリプト・フレンドリなダウンロードURLを提供します。
- checksumCommand: アーティファクトのチェックサムを取得するためのスクリプト・フレンドリなダウンロード・コマンドを提供します。
- checksumUrl: 対応するチェックサムを含むダウンロードURLを提供します。
入力パラメータ
- artifactType(文字列): サポートされているアーティファクト・コンテンツ・タイプ(- JDK、- JRE、- SERVER_JREなど)でアーティファクトをフィルタします
- osFamily(文字列): サポートされているオペレーティング・システムによってアーティファクトをフィルタします(- macOS、- Windows、- Linux、- Solarisなど)。
- architecture(文字列): サポートされているオペレーティング・システム・アーキテクチャ(- aarch64、- x64、- sparcv9、- i586、- arm32など)でアーティファクトをフィルタします。
- packageType(文字列): サポートされているアーティファクト・パッケージ・タイプ(- zip、- exe、- dmg、- deb、- rpm、- tar.gz、- msi、- tar.Zなど)でアーティファクトをフィルタします
- sortBy(文字列): 結果を- osFamily(デフォルト値)、- architecture、- artifactTypeまたは- packageTypeでソートします
- sortOrder(文字列): 結果を- DESCまたは- ASC(デフォルト値)で順序付けします。
現在のJavaリリース
現在のJavaリリースAPI - https://java.oraclecloud.com/currentJavaReleases: 現在サポートされているOracle Javaリリース(CPU、機能およびパッチ・リリース)のリストを取得します。APIは、セキュリティ・ベースライン(UP_TO_DATEに設定されたsecurityStatusフィールド)に準拠するすべてのリリースをリストします。各Javaリリースについて、このAPIには次の情報が表示されます:
                     
- artifactContentTypes: Javaリリースがセキュリティ・ベースラインの下にある最小日数や、スクリプト・ダウンロード・コマンドがJMS Javaダウンロード・ページから使用できるかどうかなどの詳細を提供します。
- jdkDetails: Javaバージョンの詳細を示します。
- licenseDetails: 表示名、ライセンス・タイプ、ライセンスURLなどの詳細を指定します。
- releaseDate: 特定のJDKバージョンのリリース日を指定します。
- releaseNotesUrl: JDKリリースのURLを表示します。
- releaseType: CPU、FEATURE、PATCH_RELEASEなどのリリースのタイプを示します。
- releaseVersion: 特定のJavaリリースのバージョン番号を指定します。
- releaseFullVersion: 特定のJavaリリースのビルド番号(- jdk-22.0.1+8など)を含む完全なバージョンを提供します。
- securityStatus: リリースのセキュリティ・ステータス(- UP_TO_DATE、- UPDATE_REQUIRED、- UPGRADE_REQUIRED、- UNKNOWNなど)を示します。
入力パラメータ
- jdkVersion(文字列): 8、11、17、21などのメジャーJavaバージョンで結果をフィルタします
- isSupportedVersion(ブール): Oracleサポート・ステータスで結果をフィルタします。指定できる値:- <true>
- isLts(ブール): 長期サポート・ステータスで結果をフィルタします。指定できる値は- <true or false>です
- licenseType(文字列):- OTNや- NFTCなどのライセンス・タイプで結果をフィルタします
- releaseType(文字列):- CPU、- FEATURE、- PATCH_RELEASEなどのリリース・タイプで結果をフィルタします。
- sortBy(文字列): 結果を- releaseDate(デフォルト値)、- releaseVersion、- jdkVersionまたは- licenseTypeでソートします
- sortOrder(文字列): 結果を- DESC(デフォルト値)または- ASCでソートします。
特定のJavaバージョンの現在のJavaリリース
現在のJavaリリースの特定のJavaバージョンAPI - https://java.oraclecloud.com/currentJavaReleases/<$jdkVersion>: https://java.oraclecloud.com/javaVersions APIのjdkVersion値を使用して、そのバージョンの詳細を表示します。たとえば、https://java.oraclecloud.com/currentJavaReleases/23です。 
                     
このAPIは、現在のJavaリリースの特定のバージョンに関する完全な情報を取得します。各Javaリリースについて、このAPIには次の情報が表示されます:
- downloadFileSizeInBytes: パッケージのファイル・サイズを指定します。
- artifactType:- JDK、- JRE、- SERVER_JREなどのアーティファクト・タイプを示します。
- osFamily: アーティファクトの対応するオペレーティング・システム(- Linux、- Windows、- macOSなど)を示します。
- architecture:- aarch64、- x64、- sparcv9、- i586、- arm32などのオペレーティング・システムのアーキテクチャを示します。
- packageType:- zip、- exe、- dmg、- deb、- rpm、- tar.gz、- msi、- tar.Zなど、サポートされているパッケージ・タイプを示します。
- downloadCommand: JMS Javaダウンロード・ページからパッケージをダウンロードできるスクリプト・フレンドリ・ダウンロード・コマンドを提供します。シームレスにダウンロードできるように、正しいトークンIDを指定してください。
- downloadUrl: JMS Javaダウンロード・ページからパッケージをダウンロードするために使用できるスクリプト・フレンドリなダウンロードURLを提供します。
- checksumCommand: アーティファクトのチェックサムを取得するためのスクリプト・フレンドリなダウンロード・コマンドを提供します。
- checksumUrl: 対応するチェックサムを含むダウンロードURLを提供します。
入力パラメータ
- artifactType(文字列): サポートされているアーティファクト・コンテンツ・タイプ(- JDK、- JRE、- SERVER_JREなど)でアーティファクトをフィルタします
- osFamily(文字列): サポートされているオペレーティング・システムによってアーティファクトをフィルタします(- macOS、- Windows、- Linux、- Solarisなど)。
- architecture(文字列): サポートされているオペレーティング・システム・アーキテクチャ(- aarch64、- x64、- sparcv9、- i586、- arm32など)でアーティファクトをフィルタします。
- packageType(文字列): サポートされているアーティファクト・パッケージ・タイプ(- zip、- exe、- dmg、- deb、- rpm、- tar.gz、- msi、- tar.Zなど)でアーティファクトをフィルタします
- sortBy(文字列): 結果を- osFamily(デフォルト値)、- architecture、- artifactTypeまたは- packageTypeでソートします
- sortOrder(文字列): 結果を- DESCまたは- ASC(デフォルト値)で順序付けします。
Java REST APIの使用
https://java.oraclecloud.com/javaReleases/11.0.17?osFamily=macos&architecture=aarch64curl -H "token:<$token>" -L -O https://java.oraclecloud.com/java/11/latest/jdk-11_linux-aarch64_bin.tar.gzchecksumコマンドを使用して、パッケージの整合性を検証することもできます。