Return a list with the previous due dates of the current work item in descending order.
Configuration
Select Custom text formula in the template gallery after clicking Create formula field.
Choose Jira expression in the parsing mode dropdown. Click here for additional information.
Expression
issue.changelogs.filter(changelog => changelog.items.some(item => item.fieldId
== 'duedate' && item.from != null)).map(changelog => {duedateentry:
changelog.items.filter(item => item.fieldId == 'duedate' )}).map(e => new
CalendarDate(e.duedateentry[0].from).toString()).join(", ")
Details
1. What does the expression do?
This expression returns a list of all previous due dates for the current work item, showing them in descending order (most recent first).
2. Step-by-step breakdown
Let’s break down the expression:
-
issue.changelogs: This accesses the full history of changes for the current work item. -
.filter(...): This keeps only those changelogs where the due date field (fieldId == 'duedate') was changed and where there was a previous value (item.from != null). -
.map(...): For each filtered changelog, it creates an object containing only the items where the due date was changed. -
.map(...): For each of these objects, it takes the previous value of the due date (from), converts it into a date format (CalendarDate), and then into a readable text. -
.join(", "): Finally, it combines all these previous due dates into a single string, separated by commas.
3. Examples
Suppose a work item had its due date changed three times:
-
First due date: 2023-01-01
-
Changed to: 2023-02-01
-
Changed to: 2023-03-01
The expression would return:
2023-01-01, 2023-02-01
(Assuming the current due date is 2023-03-01, the list shows the previous values.)
4. Real-life use cases
-
Audit trail: Track how the due date for a work item has changed over time, which is useful for audits or understanding project delays.
-
Reporting: Display a history of due date changes in a custom field, so team members can quickly see if deadlines have shifted.
-
Process improvement: Identify patterns in deadline changes to improve planning and estimation in future projects.