Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
A Calculated (scripted) Date custom field type represents a java.util.Date calculated from a Groovy script.
Sample use cases:
Calculate and display the Sprint end date in the statistics
Create a Calculated (scripted) Date custom field type, Sprint End Date, from the Custom fields administration page.
Click on Configure
Click on Edit Groovy Formula and write the following formula in the editor
for (Object sprint : issue.get("Sprint")) {
if (sprint.isActive())
return sprint.getEndDate().toDate();
}
Click on “Save”
Add this field in the statistics gadgets
Calculated (scripted) Date/Time custom field type
A Calculated (scripted) Date/Time custom field type represents a java.util.Date and is displayed as date+time.
Sample use cases:
Calculate and display the probable date of resolution (excluding weekends) for an issue based on its Priority
Create a Calculated (scripted) Date/Time custom field type, Probable resolution, from the Custom fields administration page.
Click on Configure
Click on Edit Groovy Formula and write the following formula in the editor
Date date(Date from, int nod){
Calendar c1 = GregorianCalendar.getInstance();
c1.setTime(from);
int weeks = nod/5;
int remDays = nod%5;
//Adding whole weeks
c1.add(Calendar.WEEK_OF_YEAR, weeks);
//Run a loop and check each day to skip a weekend
for(int i=1;i<=remDays;i++){
c1.add(Calendar.DAY_OF_MONTH, 1);
if (c1.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY)
c1.add(Calendar.DAY_OF_MONTH, 1);
if (c1.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
c1.add(Calendar.DAY_OF_MONTH, 1);
}
//Skip ending weekend
if (c1.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY)
c1.add(Calendar.DAY_OF_MONTH, 1);
if (c1.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
c1.add(Calendar.DAY_OF_MONTH, 1);
//move to 0:00
c1.clearTime();
return c1.getTime();
}
def from = issue.get("created")
switch (issue.getAsString("priority")) {
case "Highest" || "High" : return date(issue.get("created"),2);
case "Medium" : return date(issue.get("created"),4);
case "Low" || "Lowest" : return date(issue.get("created"),5);
default : return date(issue.get("created"),5);
}
Click on Save.
Click on Edit Date Format and select DATE_TIME_PICKER.
Click on Save.
Calculate and display the Sprint end date as a relative date in the Issue Navigator.
Create a Calculated (scripted) Date/Time custom field type, Sprint end date from the Custom fields administration page.
Click on Configure
Click on Edit Groovy Formula and write the following formula in the editor
for (Object sprint : issue.get("Sprint")) {
if (sprint.isActive())
return sprint.getEndDate().toDate();
}
Click on Save.
Click on Edit Date Column Format and select RELATIVE.
Click on Save.
Calculated (scripted) Duration custom field type
A Calculated (scripted) Duration custom field type represents a duration and is displayed either as a duration string or as a number in a Long format representing the number of seconds.
Sample use cases:
Calculate and display how many days an issue has been open
Create a Calculated (scripted) Duration custom field type, Open since, from the Custom fields administration page.
Click on Configure
Click on Edit Groovy formula and write the following formula.
A Calculated (scripted) Number custom field type represents a number and is displayed in Double format.
Sample use cases:
Calculate the sum of two number field and round off the result
Create a Calculated (scripted) Number custom field type: Sum, from the Custom fields administration page.
Click on Configure
Click on Edit Groovy Formula and write the following formula.
def result = (issue.get("customfield_16003") ? issue.get("customfield_16003") : 0) + (issue.get("customfield_16004") ? issue.get("customfield_16004") : 0)
result == 0?0:result.round() //returns 0 when the result is 0 and rounds off the result when there is a value
Click on Save.
Calculate and display the number of Stories associated to the Epic.
Create a Calculated (scripted) Number custom field type: Total Stories, from the Custom fields administration page.
Click on Configure
Click on Edit Groovy Formula and write the following formula.
if (issue.stories){
return issue.getStories().size()
}
else{
return 0
}
Click on Save.
Calculate and display the number of unresolved issues blocking the current issue.
Create a Calculated (scripted) Number custom field type: Number of Blocking Issues, from the Custom fields administration page.
Click on Configure
Click on Edit Groovy Formula and write the following formula.
Calculated (scripted) Single-user custom field type
A Calculated (scripted) Single-user custom field type represents an ApplicationUser and is displayed as a String representing the display name of the user.
Sample use cases:
Calculate and display the user who last commented on the issue
Create a Calculated (scripted) Single-user custom field type: Last Commented by, from the Custom fields administration page.
Click on Configure
Click on Edit Groovy Formula and write the following formula.
A Last Field Value change Author custom field type that represents the author of the last modification made to a field and is displayed as a String representing the display name of the user.
Sample use cases:
Calculate and display the author who has last added this issue to a Sprint
Create a Last Field Value Change Author custom field type: Moved to Sprint by, from the Custom fields administration page.
Click on Edit Field to look for
Select the Sprint field.
Click on Save
Last Field Value Change Date/Time custom field type
A Last Field Value Change Date/Time custom field type represents a java.util.Date and is displayed as date+time.
Sample use cases:
Calculate and display the last time the issue was Flagged.
Create a Last Field Value Change Date/Time custom field type: Last Flagged, from the Custom fields administration page.
Click on Edit Field to look for
Select the Flagged field.
Click on Save
Parent Status custom field type
A Parent status calculated custom field type represents the status of the issue's parent issue, if any, and is displayed as a String representing the status name.
Sample use cases:
Calculate and display the status of the parent issue and the name of the user to whom the issue is assigned.
Create a Parent Status custom field type: Parent Status field, from the Custom fields administration page.
Click on Edit Velocity Template
Write the following template
#if ($issue.assignee.name)
$formattedValue and assigned to $issue.assignee.displayName
#else
$formattedValue
#end
Status entered by user custom field type
A Status entered by user custom field type represents a user who last (or first) moved the issue to the specified status and is displayed as a String representing the user display name.
Sample use cases:
Calculate and display the author name and the email address of the user who first Approved the issue
Create a Status entered by user custom field type, First Approved on, from the Custom fields administration page.
Click on Edit Statuse(s) to look for.
Select the Approval status.
Select Earliest from Which transition execution field
Click on Save.
Status entered on date/time custom field type
A Status entered on Date/Time custom field type represents a date+time the issue has been last (or first) moved to the specified status and is displayed as date+time.
Sample use cases:
Calculate and display the date/time an issue entered the Approval status for the first time
Create a Status entered on date/time custom field type, First Approved on, from the Custom fields administration page.
Click on Edit Statuse(s) to look for.
Select the Approval status.
Select Earliest from Which transition execution field
Click on Save
Time in status custom field type
A Calculated Time in status custom field type represents a duration and is displayed either as a duration String or as a number in a Long format representing the number of seconds.
Sample use cases:
Calculate and display the time spent in the Pull request status
Create a Time in status custom field type, Time in Pull request, from the Custom fields administration page.
Click on Edit Statuse(s) to look for.
Select the statuses you would like the calculated field to look for.
Click on Save.
Calculate and display the total resolution time for a ticket in an error banner if the time spent is more than 3 days
Create a Time in status custom field type, Total resolution time, from the Custom fields administration page.
Calculate and display the time spent in current status
Create a Time in status custom field type, Total resolution time, from the Custom fields administration page.
Click on Edit Statuse(s) to look for.
Select Current Status from the list of statuse(s)
Click on Save.
Transition Caller custom field type
A Transition Caller custom field type returns the user who first/last executed a specific workflow transition and is displayed as a String representing the display name of the user.
Sample use cases:
Calculate and display the author who last fixed the issue
Create a Transition caller custom field type, Last fixed by, from the Custom fields administration page.
Click on Edit Transition(s) to look for.
Provide the transition name or ID of the transition to Fixed status, either manually or using the Transition picker
Click on Add.
Click on Save.
Select Latest from the Transition Execution field.
Calculate and display the author who has resolved the issue across different workflows with different transitions.
Create a Transition caller custom field type, Last fixed by, from the Custom fields administration page.
Click on Edit Transition(s) to look for.
Click on the Transition picker.
Select the workflow name and the transition that leads to the Resolved status
Click on Add
Repeat the same with all the other transitions that lead to Resolved status.
Click on Save.
Select Latest from the Transition Execution field.
Calculate and display the creator of the issue along with his/her username.
Create a Transition Caller Custom field type,Owner from the Custom fields administration page.
Click on Edit Transition(s) to look for.
Provide the Create transition name or ID either manually or using the Transition picker
Click on Add.
Click on Save.
Click on Edit Velocity Template.
Input the following template.
#if ($value)
$formattedValue - $value.name
#end
Click on Save.
Transition Callers custom field type
A Transition Callers custom field type returns the users who triggered a specific workflow transition and is displayed as a String representing the display names of the users.
Sample use cases:
Calculate and display the authors who approved the ticket
Create a Transition callers custom field type, Approved by, from the Custom fields administration page.
Click on Edit Transition(s) to look for.
Select the "Approve" transition using the Transition picker
Click on Add.
Click on Save.
Calculate and display the authors who have Reviewed and Approved the ticket
Create a Transition callers custom field type, Reviewed andApproved by, from the Custom fields administration page.
Click on Edit Transition(s) to look for.
Select the "Approve" and "Review" transitions using the Transition picker
Click on Add.
Click on Save.
Transition Count custom field type
A Transition Count custom field represents the number of times a specified workflow transition(s) was executed and is displayed as a number in Double format.
Sample use cases:
Calculate and count the number of times an issue fix has been rejected
Create a Transition Count Custom field type, Rejected, from the Custom fields administration page.
Click on Edit Transition(s) to look for.
Provide the transition name or ID of the transition "Reject" either manually or using the Transition picker
Click on Add.
Click on Save.
Calculate the number of revisions done on a story before moving into development.
Create a Transition Count Custom field type, Revisions, from the Custom fields administration page.
Click on Edit Transition(s) to look for.
Provide the transition name or ID of the transition "Needs revision" either manually or using the Transition picker
Click on Add.
Click on Save.
Transition Date/Time custom field type
A Transition Date/Time custom field type represents a java.util.Date and is displayed as date+time.
Sample use cases:
Calculate and display the date/time as a relative time when the issue has been last approved.
Create a Transition Date/Time Custom field type, Last Approved on, from the Custom fields administration page.
Click on Edit Transition(s) to look for.
Provide the transition name or ID either manually or using the Transition picker
Click on Add.
Click on Save.
Select Latest from the Transition Execution field.
Click on Edit Date Format
Select RELATIVE
Click on Save
Calculate and display the "Fix date" when an issue is moved to Fixed/Checked-in status for the first time
Create a Transition Date/Time Custom field type, Fix date, from the Custom fields administration page.
Click on Edit Transition(s) to look for.
Click on the Transition picker.
Select the workflow name and the transition that leads to the respective status
Click on Add
Repeat the same with the other transitions of the workflows.
Click on Save.
Select Earliest from the Transition Execution field