Hey
I have a challange, where a transaction, should change the due date of the issue. But the change is not static (+5 days, 1 month). the off set is based on a select custom field.
This field have have different periods (weekly, monthly, etc.)
Anyone know a way to solve this?
Found that it could be done with a scripted post function, using Script Runner plugin
Hi Mikkel,
Did you manage to do it with script runner? Coud you post your script here?
Pierre
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
import com.atlassian.jira.ComponentManager import com.atlassian.jira.issue.CustomFieldManager import com.atlassian.jira.issue.Issue import java.text.SimpleDateFormat import com.atlassian.jira.issue.comments.CommentManager Issue issue = issue ComponentManager componentManager = ComponentManager.getInstance() CustomFieldManager cfManager = componentManager.getCustomFieldManager() CommentManager comManager= componentManager.getCommentManager() String value = issue.getCustomFieldValue(cfManager.getCustomFieldObjectByName("Control Frequency")); SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy/MM/dd") String originalDueDate = dateFormatter.format(issue.dueDate) Calendar newDueDate = Calendar.getInstance() newDueDate.setTimeInMillis(issue.dueDate.time) boolean update = true switch (value){ case "Daily (weekdays)": newDueDate.add(Calendar.DAY_OF_YEAR, Calendar.getInstance().get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY ? 3 : 1) break case "Weekly": newDueDate.add(Calendar.WEEK_OF_YEAR, 1) break .
.
. case "Every 4 years": newDueDate.add(Calendar.YEAR, 4) break case "Every 5 years": newDueDate.add(Calendar.YEAR, 5) break default: update = false break } if (update){ issue.dueDate.time = newDueDate.timeInMillis comManager.create(issue, "System", "Executed and Due date changed from " + originalDueDate + " to " + dateFormatter.format(issue.dueDate), false) issue.store() }
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks a lot!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Scripting.
JJupin:
if(customfield_12345 == "1") {
dueDate = currentDate() + "5d";
} else {
dueDate = currentDate() + "4w";
}
http://confluence.kepler-rominfo.com/display/JJUP20/Date+routines
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.