I am getting the following error when I use `java.time.ZonedDateTime` in ScriptRunner Script Console.
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.ZonedDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling (through reference chain: com.adaptavist.sr.cloud.output.ScriptExecutionOutput["result"])
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1300)
at com.fasterxml.jackson.databind.ser.impl.UnsupportedTypeSerializer.serialize(UnsupportedTypeSerializer.java:35)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:774)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:657)
at com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1518)
at com.fasterxml.jackson.databind.ObjectWriter._writeValueAndClose(ObjectWriter.java:1219)
at com.fasterxml.jackson.databind.ObjectWriter.writeValueAsString(ObjectWriter.java:1086)
The issue can be reproduced with a simple script below,
import java.time.ZonedDateTime
def time = ZonedDateTime.now()
return time
I have seen many examples from people using ZonedDateTimem but unfortunately it does not work for me. Even the ScriptRunner Cloud recommends using java.time for time calculations instead of Date.
It would be really helpful if you can help me to resolve the issue.
Could you change the approach you are trying to retrieve the Current Date by adding it to a log parameter as shown below:-
import java.time.ZonedDateTime
logger.warn "====>>>${ZonedDateTime.now()}"
This approach is working as shown in the screenshot below:-
I am suggesting this approach because it ScriptRunner in Jira could not directly able to read the value of the ZoneDateTime.now() and returns an exception.
I hope this helps to solve your question. :-)
Thank you and Kind regards,
Ram
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.