Add days skipping weekends and holidays to a Date Picker field

Use case

This use case explains how to add a fix number of days to a custom field skipping weekends and holidays according to a pre-set calendar.

Prerequisites

Set a JWT calendar

Create a JWT calendar and name it "my_calendar" and configure it as follows:

Bash
MON - FRI { 00:00-00:00; }

# HOLIDAYS
DEC/22 - JAN/02 { ; }

You can visit JWT calendar specification for more information about how to configure a JWT calendar to fit to your needs.

🛠️ Configuration

Add the Update or copy field values post function to the desired transition or create a new transition.

Target issue

Choose Current issue

Fields

Field

Choose the Date Picker field

Value

Choose Set field value manually

Expression

Bash
addTime({issue.cfDatePicker}, 14 * {DAY}, "my_calendar", LOCAL)

This expression will add 14 days skipping weekends and holidays to a date picker field.

The field code of the custom field {issue.cfDatePicker} must be replaced with the corresponding one of your instance.

Use case Workflow function Parser functions
Prioritize the issues globally

Update or copy field values

indexOf() previousValue() issuesFromJQL()

Automatically fill an insight custom field after a transition

Update or copy field values

Create an internal Service Management comment on linked issues

Update or copy field values

Set a date on the same week day on alternate weeks

Update or copy field values

addDays() nextDayOfTheWeek() modulus() weekOfTheYear() datePart()

Set a Date Picker field to the nth day of the month

Update or copy field values

dayOfTheMonth() lastDayOfTheMonth() addDays()

Set the next fix version

Update or copy field values

floor() toNumber() substring() length()

Set fix version based on its start and release date

Update or copy field values 

toString() textOnStringList() unreleasedVersions() startDates() releaseDates() first()

Set Due Date with latest value among sub-tasks

Update or copy field values

fieldValue()

max()

siblingSubtasks()

Assign important issues to the project lead

Update or copy field values

Shorten the summary to a maximum number of characters

Update or copy field values

substring() length()

Match several values of a list

Update or copy field values

toString() distinct() filterByPredicate()

Assign issue to current user

Update or copy field values

Keep parent issue's priority in sync

Update or copy field values

Set assignee based on a former assignee

Update or copy field values

previousValue()

Add watchers ignoring inactive users

Update or copy field values

usersInGroup() isActive() toString() filterByPredicate()

Add days skipping weekends and holidays to a Date Picker field

Update or copy field values

addTime()

Keep track of important status updates

Update or copy field values

Fields required or changed

dateTimeToString()

Change the assignee to the next evaluator

Update or copy field values

first()

toStringList()

Add or remove request participants

Update or copy field values

Set a date two months after the end of the quarter

Update or copy field values

nextTime() addMonths()