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,962
Community Members
 
Community Events
168
Community Groups

On creation, can we update due date field based on priority?

Edited

Is it possible to set the Due Date based on the priority assigned?

Example:

If priority = High, default Due Date to 3 days
If priority = Medium, default Due Date to 3 weeks

Business days also need to be considered... If a high priority ticket is created on a Friday, the Due Date should be Wednesday rather than Monday.

Note: We have script runner that we could potentially utilize / workflow post functions etc.

 

1 answer

Hi @Jonathan Smith sure, you can add script postfunction to "Create" transition:

Selection_095.png

and you can use similar code (it adds 3 woring days to High priority issue and 21 working days to Low priority issue):

import java.sql.Timestamp
import java.time.LocalDate
import java.text.SimpleDateFormat
import java.time.DayOfWeek
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.config.properties.APKeys

def applicationProperties = ComponentAccessor.getApplicationProperties()
def javaDateFormat = applicationProperties.getDefaultBackedString(APKeys.JIRA_DATE_PICKER_JAVA_FORMAT)
def javaDateFormatter = new SimpleDateFormat(javaDateFormat)

def currentDate = LocalDate.now()
def currentDatePlus3WoringDays = addDaysSkippingWeekends(currentDate, 3)
def currentDatePlus3WoringWeeks = addDaysSkippingWeekends(currentDate, 21)

switch(issue?.priority?.name){
case "High":
issue.setDueDate(Timestamp.valueOf(currentDatePlus3WoringDays.atStartOfDay()))
break;
case "Low":
issue.setDueDate(Timestamp.valueOf(currentDatePlus3WoringWeeks.atStartOfDay()))
break;
}

public static LocalDate addDaysSkippingWeekends(LocalDate date, int days) {
LocalDate result = date;
int addedDays = 0;
while (addedDays < days) {
result = result.plusDays(1);
if (!(result.getDayOfWeek() == DayOfWeek.SATURDAY || result.getDayOfWeek() == DayOfWeek.SUNDAY)) {
++addedDays;
}
}
return result;
}

@Martin Bayer _MoroSystems_ s_r_o__ 

  When adding your code to the custom post function, I am getting some errors. Could you take a look?

Thanks,

Jonathan

@Jonathan Smith these are only static code check errors but it should be working...or eventually can you post the errors?

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events