GoogleContainerTools/jib · error · GradleException
container.creationTime should be an ISO 8601 date-time (see
Error message
container.creationTime should be an ISO 8601 date-time (see DateTimeFormatter.ISO_DATE_TIME) or a special keyword ("EPOCH", "USE_CURRENT_TIMESTAMP"): ${invalidCreationTime} What it means
Thrown when container.creationTime is not a valid ISO 8601 date-time nor one of the special keywords 'EPOCH' or 'USE_CURRENT_TIMESTAMP'. This controls the creation timestamp written into the container image config.
Source
Thrown at jib-gradle-plugin/src/main/java/com/google/cloud/tools/jib/gradle/BuildDockerTask.java:162
"from.platforms contains a platform configuration that is missing required values or has invalid values: "
+ ex.getMessage()
+ ": "
+ ex.getInvalidPlatform(),
ex);
} catch (InvalidContainerVolumeException ex) {
throw new GradleException(
"container.volumes is not an absolute Unix-style path: " + ex.getInvalidVolume(), ex);
} catch (InvalidFilesModificationTimeException ex) {
throw new GradleException(
"container.filesModificationTime should be an ISO 8601 date-time (see "
+ "DateTimeFormatter.ISO_DATE_TIME) or special keyword \"EPOCH_PLUS_SECOND\": "
+ ex.getInvalidFilesModificationTime(),
ex);
} catch (InvalidCreationTimeException ex) {
throw new GradleException(
"container.creationTime should be an ISO 8601 date-time (see "
+ "DateTimeFormatter.ISO_DATE_TIME) or a special keyword (\"EPOCH\", "
+ "\"USE_CURRENT_TIMESTAMP\"): "
+ ex.getInvalidCreationTime(),
ex);
} catch (JibPluginExtensionException ex) {
String extensionName = ex.getExtensionClass().getName();
throw new GradleException(
"error running extension '" + extensionName + "': " + ex.getMessage(), ex);
} catch (IncompatibleBaseImageJavaVersionException ex) {
throw new GradleException(
HelpfulSuggestions.forIncompatibleBaseImageJavaVersionForGradle(
ex.getBaseImageMajorJavaVersion(), ex.getProjectMajorJavaVersion()),
ex);
} catch (InvalidImageReferenceException ex) {View on GitHub (pinned to fb949e2676)
Solutions
- Use an ISO 8601 date-time, e.g. creationTime = "2024-01-15T10:00:00Z"
- Or use exactly 'EPOCH' or 'USE_CURRENT_TIMESTAMP'
- Check keyword spelling/case; values are case-sensitive
Example fix
// before
jib { container { creationTime = '2024-01-15' } }
// after
jib { container { creationTime = 'USE_CURRENT_TIMESTAMP' } } Defensive patterns
Strategy: validation
Validate before calling
def t = jib.container.creationTime
if (t != null && !(t in ['EPOCH','USE_CURRENT_TIMESTAMP']) && !isValidIsoDateTime(t)) {
throw new GradleException("creationTime must be ISO 8601, EPOCH, or USE_CURRENT_TIMESTAMP: $t")
} Try / catch
try { jibBuild.run() } catch (GradleException e) { if (e.message.contains('creationTime')) { logger.error(e.message) }; throw e } Prevention
- Use exact keywords 'EPOCH' or 'USE_CURRENT_TIMESTAMP' (case-sensitive)
- Include full date-time (not date-only) in ISO 8601 values
- Use 'EPOCH' for reproducible builds
When it happens
Trigger: Setting creationTime to an arbitrary string like 'now', a unix epoch number, an ISO date only ('2024-01-15' without time), or a keyword not in the allowed set.
Common situations: Attempting reproducible builds with wrong keyword spelling ('epoch' lowercase fails), setting the value to a plain date, or copying examples meant for filesModificationTime.
Related errors
- container.filesModificationTime should be an ISO 8601 date-t
- container.filesModificationTime should be an ISO 8601 date-t
- container.filesModificationTime should be an ISO 8601 date-t
- container.creationTime should be an ISO 8601 date-time (see
- container.creationTime should be an ISO 8601 date-time (see
AI-assisted analysis of GoogleContainerTools/jib@fb949e2676 (2026-09-06).
Data as JSON: /api/errors/f8369a743d0be715.
Report an issue: GitHub.