Days until resolution skipping weekends
Return the number of days elapsed since the creation of the work item until its resolution skipping weekends.
Configuration
Create a Custom smart number field and use the Jira expression parsing mode.
Expression
startDate = issue?.created;
endDate = issue?.resolutionDate != null ? issue?.resolutionDate : null;
startDateWeekday = startDate.getDay() == 0 ? 7 : startDate.getDay();
endDateWeekday = endDate.getDay() == 0 ? 7 : endDate.getDay();
isValidDate = startDate != null && endDate != null && endDate.getTime()
>= startDate.getTime();
milliseconds = 86400000;
naturalDays = isValidDate ? (((endDate.getTime() - startDate.getTime()) -
((endDate.getTime() - startDate.getTime()) % milliseconds)) / milliseconds)
: null;
remain = isValidDate ? (naturalDays % 7) : 0;
if (!isValidDate){
return null
} else if(startDateWeekday == endDateWeekday){
return (naturalDays - ((naturalDays - remain )/ 7 * 2));
} else if(startDateWeekday == 7 || (startDateWeekday == 6
&& endDateWeekday == 7)){
return (naturalDays - ((naturalDays - remain) / 7 * 2)) -1;
} else if(startDateWeekday == 6){
return (naturalDays - ((naturalDays - remain) / 7 * 2)) - 2;
} else if(endDateWeekday == 7){
return (naturalDays - ((naturalDays - remain) / 7 * 2)) - 1;
} else if(startDateWeekday > endDateWeekday) {
return (naturalDays - ((naturalDays - remain) / 7 * 2)) - 2;
} else{
return (naturalDays - ((naturalDays - remain) / 7 * 2));
}
Format
Default