Return the earliest date from a Date Picker custom field in the linked work items of the current work item.
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
let minDate = issue?.links.map(link => link.linkedIssue.customfield_nnnnn).filter(
d => d != null);
minDate.length > 0 ? new CalendarDate(minDate.reduce((a, b) => a < b ? a : b ))
.toString() : ""
Please, replace nnnnn with the ID of a Date Time Picker custom field.
Details
1. What does the expression do?
This expression finds the earliest date from a specific Date Picker custom field across all work items that are linked to the current work item. It returns this earliest date as a string. If no linked work items have a date set, it returns an empty string.
2. Step-by-step breakdown
Letβs break it down:
-
issue?.links: Gets all the links of the current work item. -
.map(link => link.linkedIssue.customfield_nnnnn): For each linked work item, it retrieves the value of a specific Date Picker custom field (replacennnnnwith your actual custom field ID). -
.filter(d => d != null): Removes any entries where the date field is empty or not set. -
let minDate = ...: Stores the list of all non-empty dates from the linked work items. -
minDate.length > 0 ? ... : "": Checks if there are any dates found. If not, it returns an empty string. -
minDate.reduce((a, b) => a < b ? a : b ): Finds the earliest (minimum) date in the list. -
new CalendarDate(...).toString(): Converts the earliest date into a readable string format.
3. Examples
Suppose you have three linked work items with the following dates in the custom field:
-
Linked work item A: 2024-05-01
-
Linked work item B: 2024-04-15
-
Linked work item C: (no date set)
The expression will:
-
Collect the dates: [2024-05-01, 2024-04-15]
-
Filter out the empty value (from C)
-
Find the earliest date: 2024-04-15
-
Return "15/Nov/24" as the result
If none of the linked work items have a date set, the result will be an empty string.
4. Real-life use cases
-
You want to display the earliest planned start date among all tasks linked to a project work item.
-
You need to track the soonest deadline among all sub-tasks or related work items.
-
You want to automate reporting by always showing the earliest relevant date from a group of related work items.