{"record":{"id":"b7a9190705e43f81","repo":"GoogleContainerTools/jib","slug":"configuredcreationtime","errorCode":null,"errorMessage":"${configuredCreationTime}","messagePattern":"\\$\\{configuredCreationTime\\}","errorType":"validation","errorClass":"InvalidCreationTimeException","httpStatus":null,"severity":"error","filePath":"jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/PluginConfigurationProcessor.java","lineNumber":973,"sourceCode":"        case \"USE_CURRENT_TIMESTAMP\":\n          projectProperties.log(\n              LogEvent.debug(\n                  \"Setting image creation time to current time; your image may not be reproducible.\"));\n          return Instant.now();\n\n        default:\n          DateTimeFormatter formatter =\n              new DateTimeFormatterBuilder()\n                  .append(DateTimeFormatter.ISO_DATE_TIME) // parses isoStrict\n                  // add ability to parse with no \":\" in tz\n                  .optionalStart()\n                  .appendOffset(\"+HHmm\", \"+0000\")\n                  .optionalEnd()\n                  .toFormatter();\n          return formatter.parse(configuredCreationTime, Instant::from);\n      }\n    } catch (DateTimeParseException ex) {\n      throw new InvalidCreationTimeException(configuredCreationTime, configuredCreationTime, ex);\n    }\n  }\n\n  // TODO: find a way to reduce the number of arguments.\n  private static void configureCredentialRetrievers(\n      RawConfiguration rawConfiguration,\n      ProjectProperties projectProperties,\n      RegistryImage registryImage,\n      ImageReference imageReference,\n      String usernamePropertyName,\n      String passwordPropertyName,\n      AuthProperty rawAuthConfiguration,\n      InferredAuthProvider inferredAuthProvider,\n      CredHelperConfiguration credHelperConfiguration)\n      throws FileNotFoundException {\n    DefaultCredentialRetrievers defaultCredentialRetrievers =\n        DefaultCredentialRetrievers.init(\n            CredentialRetrieverFactory.forImage(","sourceCodeStart":955,"sourceCodeEnd":991,"githubUrl":"https://github.com/GoogleContainerTools/jib/blob/fb949e2676afbbd7dd7a1ef61e20251931325654/jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/PluginConfigurationProcessor.java#L955-L991","documentation":"Jib's creationTime option accepts 'EPOCH', 'USE_CURRENT_TIMESTAMP', or an ISO 8601 date-time. getCreationTime parses custom values with a strict ISO_DATE_TIME formatter (relaxed only to allow +HHmm offsets); a DateTimeParseException is wrapped in InvalidCreationTimeException with the configured value shown where ${configuredCreationTime} appears.","triggerScenarios":"processCommonConfiguration -> getCreationTime when the configured creation time is not one of the special literals and fails formatter.parse(..., Instant::from) — wrong format, missing offset, or invalid date.","commonSituations":"Setting creationTime to a plain date '2023-06-01'; using local date-time without zone like '2023-06-01T12:00:00'; environment-specific property expansion leaving a literal '${...}' placeholder; typos in EPOCH/USE_CURRENT_TIMESTAMP.","solutions":["Use a complete ISO 8601 instant such as 2023-06-01T12:00:00Z (include a timezone offset).","Use the literals EPOCH or USE_CURRENT_TIMESTAMP when a dynamic time is desired, spelled exactly.","Check build logs/config for unresolved interpolation (e.g. literal ${git.commit.time}) and bind a real value."],"exampleFix":"// before\njib.container.creationTime = '2023-06-01T12:00:00'\n// after\njib.container.creationTime = '2023-06-01T12:00:00Z'","handlingStrategy":"validation","validationCode":"// Validate creation time before configuring Jib\nif (!configuredCreationTime.equals(\"EPOCH\")\n    && !configuredCreationTime.equals(\"USE_CURRENT_TIMESTAMP\")) {\n  java.time.Instant.parse(configuredCreationTime); // throws if not ISO 8601 instant\n}","typeGuard":null,"tryCatchPattern":"try {\n  processCommonConfiguration(...);\n} catch (InvalidCreationTimeException e) {\n  logger.error(\"Bad creationTime '\" + e.getInvalidCreationTime()\n      + \"'; use EPOCH, USE_CURRENT_TIMESTAMP, or ISO 8601 with offset\");\n}","preventionTips":["Include timezone in custom creation times (e.g. ...T12:00:00Z)","Spell literals EPOCH and USE_CURRENT_TIMESTAMP exactly","Check for unresolved ${...} placeholders in build config"],"tags":["container-image","date-format","java"],"backgroundTag":"invalid-date-format","analyzedSha":"fb949e2676afbbd7dd7a1ef61e20251931325654","analyzedAt":"2026-09-06T14:04:09.491Z","contentChangedAt":"2026-09-06T14:04:09.491Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}