Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Adds
expiry_in_daysfield to_licenseAPI response for easier license monitoringThis PR implements the enhancement requested in issue #129726 to add an
expiry_in_daysfield to the_licenseAPI response. This field shows the number of days until license expiry as a float (e.g., "30.2"), making it much easier for users and monitoring tools to check license status without manual date calculations.Changes Made
getDaysUntilExpiry()method inLicenseUtils.javato calculate days until license expiryEXPIRY_IN_DAYSfield constant inLicense.javatoXContent()method inLicense.javato include the new field in JSON responseLicenseUtilsTests.javacovering all scenariosExample API Response
Before:
{ "license": { "status": "active", "type": "trial", "expiry_date": "2025-07-19T22:05:12.332Z", "expiry_date_in_millis": 1542665112332 } }After:
{ "license": { "status": "active", "type": "trial", "expiry_date": "2025-07-19T22:05:12.332Z", "expiry_date_in_millis": 1542665112332, "expiry_in_days": "30.2" } }Testing
./gradlew :x-pack:plugin:core:test --tests "org.elasticsearch.license.LicenseUtilsTests.testGetDaysUntilExpiry"Checklist Response
gradle checkResolves #129726