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リリース

JavaリリースAPI - https://java.oraclecloud.com/javaReleases: CPU、機能、パッチ・リリースなど、公開されているOracle Javaリリースのリストを取得します。各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_DATEUPDATE_REQUIREDUPGRADE_REQUIREDUNKNOWNなど)を示します。

入力パラメータ

  • jdkVersion (文字列): 8、11、17、21などのメジャーJavaバージョンで結果をフィルタします
  • isSupportedVersion (ブール): Oracleサポート・ステータスで結果をフィルタします。指定できる値: <true>
  • isLts (ブール): 長期サポート・ステータスで結果をフィルタします。指定できる値は<true or false>です
  • licenseType (文字列): OTNNFTCなどのライセンス・タイプで結果をフィルタします
  • releaseType (文字列): CPUFEATUREPATCH_RELEASEなどのリリース・タイプで結果をフィルタします。
  • releaseVersion (文字列): Javaリリース・バージョンによる結果のフィルタ
  • securityStatus (文字列): UP_TO_DATEUPDATE_REQUIREDUPGRADE_REQUIREDUNKNOWNなどのセキュリティ・ステータスで結果をフィルタします。
  • daysUnderSecurityBaseline (整数): セキュリティ・ベースラインを下回る日数で結果をフィルタします。0日間は最新であることを示します。
  • sortBy (文字列): 結果をreleaseDate (デフォルト値)、releaseVersionjdkVersionまたは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: aarch64x64sparcv9i586arm32などのオペレーティング・システムのアーキテクチャを示します。
  • packageType: zipexedmgdebrpmtar.gzmsitar.Zなど、サポートされているパッケージ・タイプを示します。
  • downloadCommand: JMS Javaダウンロード・ページからパッケージをダウンロードできるスクリプト・フレンドリ・ダウンロード・コマンドを提供します。シームレスにダウンロードできるように、正しいトークンIDを指定してください。
  • downloadUrl: JMS Javaダウンロード・ページからパッケージをダウンロードするために使用できるスクリプト・フレンドリなダウンロードURLを提供します。
  • checksumCommand: アーティファクトのチェックサムを取得するためのスクリプト・フレンドリなダウンロード・コマンドを提供します。
  • checksumUrl: 対応するチェックサムを含むダウンロードURLを提供します。

入力パラメータ

  • artifactType (文字列): サポートされているアーティファクト・コンテンツ・タイプ(JDKJRESERVER_JREなど)でアーティファクトをフィルタします
  • osFamily (文字列): サポートされているオペレーティング・システムによってアーティファクトをフィルタします(macOSWindowsLinuxSolarisなど)。
  • architecture (文字列): サポートされているオペレーティング・システム・アーキテクチャ(aarch64x64sparcv9i586arm32など)でアーティファクトをフィルタします。
  • packageType (文字列): サポートされているアーティファクト・パッケージ・タイプ(zipexedmgdebrpm tar.gzmsitar.Zなど)でアーティファクトをフィルタします
  • sortBy (文字列): 結果をosFamily (デフォルト値)、architectureartifactTypeまたは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_DATEUPDATE_REQUIREDUPGRADE_REQUIREDUNKNOWNなど)を示します。

入力パラメータ

  • jdkVersion (文字列): 8、11、17、21などのメジャーJavaバージョンで結果をフィルタします
  • isSupportedVersion (ブール): Oracleサポート・ステータスで結果をフィルタします。指定できる値: <true>
  • isLts (ブール): 長期サポート・ステータスで結果をフィルタします。指定できる値は<true or false>です
  • licenseType (文字列): OTNNFTCなどのライセンス・タイプで結果をフィルタします
  • releaseType (文字列): CPUFEATUREPATCH_RELEASEなどのリリース・タイプで結果をフィルタします。
  • sortBy (文字列): 結果をreleaseDate (デフォルト値)、releaseVersionjdkVersionまたは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: JDKJRESERVER_JREなどのアーティファクト・タイプを示します。
  • osFamily: アーティファクトの対応するオペレーティング・システム(LinuxWindowsmacOSなど)を示します。
  • architecture: aarch64x64sparcv9i586arm32などのオペレーティング・システムのアーキテクチャを示します。
  • packageType: zipexedmgdebrpmtar.gzmsitar.Zなど、サポートされているパッケージ・タイプを示します。
  • downloadCommand: JMS Javaダウンロード・ページからパッケージをダウンロードできるスクリプト・フレンドリ・ダウンロード・コマンドを提供します。シームレスにダウンロードできるように、正しいトークンIDを指定してください。
  • downloadUrl: JMS Javaダウンロード・ページからパッケージをダウンロードするために使用できるスクリプト・フレンドリなダウンロードURLを提供します。
  • checksumCommand: アーティファクトのチェックサムを取得するためのスクリプト・フレンドリなダウンロード・コマンドを提供します。
  • checksumUrl: 対応するチェックサムを含むダウンロードURLを提供します。

入力パラメータ

  • artifactType (文字列): サポートされているアーティファクト・コンテンツ・タイプ(JDKJRESERVER_JREなど)でアーティファクトをフィルタします
  • osFamily (文字列): サポートされているオペレーティング・システムによってアーティファクトをフィルタします(macOSWindowsLinuxSolarisなど)。
  • architecture (文字列): サポートされているオペレーティング・システム・アーキテクチャ(aarch64x64sparcv9i586arm32など)でアーティファクトをフィルタします。
  • packageType (文字列): サポートされているアーティファクト・パッケージ・タイプ(zipexedmgdebrpm tar.gzmsitar.Zなど)でアーティファクトをフィルタします
  • sortBy (文字列): 結果をosFamily (デフォルト値)、architectureartifactTypeまたはpackageTypeでソートします
  • sortOrder (文字列): 結果をDESCまたはASC (デフォルト値)で順序付けします。

Java REST APIの使用

Java API入力パラメータを使用して、必要な情報のみをフィルタおよび取得できます。たとえば、JDK 11.0.17リリースでmacOS aarch64アーティファクトのみをフィルタするには、次を使用します:
https://java.oraclecloud.com/javaReleases/11.0.17?osFamily=macos&architecture=aarch64
JMS Javaダウンロード・ページから最新のJDK 11 for Linux aarch64プラットフォームをダウンロードするには、次を使用します。
curl -H "token:<$token>" -L -O https://java.oraclecloud.com/java/11/latest/jdk-11_linux-aarch64_bin.tar.gz
ダウンロードコマンドで、<$token>フィールドに有効な Token IDを指定していることを確認します。
ノート

トークンは、NFTCライセンスでJavaリリースをダウンロードする場合にはオプションです。有効なトークンがないダウンロードは、レポートに表示されません。

checksumコマンドを使用して、パッケージの整合性を検証することもできます。