Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,364,092
Community Members
 
Community Events
168
Community Groups

ScriptRunner Behaviour - Cast Problem (String vs. Date)

I'm using the code below in a ScriptRunner Behaviour to calculate lead time in working days based on today's date and the "Start Date" date picker custom field. No errors are shown in the Behaviours console and it seems to work. However there are repeated errors in the JIRA logs which read: groovy.runtime.typehandling.GroovyCastException: Cannot cast object '' with class 'java.lang.String' to class 'java.util.Date'

Can someone help explain why this is happening and what I can do to resolve it? I've tried several other approaches but all of them flag different but related errors directly within the Behaviours console and won't validate.

import java.util.Date.*
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.component.ComponentAccessor

def StartDateField = getFieldByName("Start Date")
def LeadTimeField = getFieldByName("Lead Time (Days)")

def date_start = new Date()
def date_end = StartDateField.getValue() as Date

def date_limit = date_end.format('yyyy-MM-dd');
def date_aux = date_start.format('yyyy-MM-dd');
def date = date_start;
def i = 0;
def days = 0;
def weekday = null;
while ( date_aux != date_limit ) {
weekday = Date.parse('yyyy-MM-dd', date_aux)[Calendar.DAY_OF_WEEK];
if (!( weekday == Calendar.SUNDAY || weekday == Calendar.SATURDAY )) {
days++;
}
date = date + 1;
date_aux = date.format('yyyy-MM-dd');
i++;
}

LeadTimeField.setFormValue(days)

 Much appreciated.

1 answer

Can anyone help me figure this out, please?

Have you found any solution for this? I get a similar error message

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events