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コマンドを使用して、パッケージの整合性を検証することもできます。