Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How to compare dates if createddate is specific day (groovy)

Lars Schirmer April 30, 2021

Hello,

I' I'm looking for a script to validate dates in my create transition. The usecase is:

if today is friday then the target date must be at least the next tuesday.

any ideas?

thanks in advance :)

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 30, 2021

Sure... simple enough...

User a simple scripted validator with this script:

def today = new Date()
today.day != 5 || cfValues['Target Date'] > today.clearTime() + 4

This will be true if either:

  • today is not a Friday
  • the target date is later than 00:00am on the 4th day after today

When the validator is true, the transition is allowed.

When the validator is false (both conditions above are false at the same time), then you specify the error message to display on the Target Date field

2021-04-30 10_29_19-Add Workflow Function Parameters.png

Lars Schirmer May 3, 2021

Hey Peter,

I tried your script but it doesn't work for me. I think I need to be more specific and my usecase changed a bit...

 

Target date must be apart 2 days from created date (example: created date = monday than target date can't be either the same day nor the next day). Additionally, if created date is a friday target date must at least the next tuesday.

 

thanks in advance :)

Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 3, 2021

Then my guess is that if Created Date is a Thursday then the target date must be the next Monday?

If so, that's how I would do it:

def today = new Date()
def minDate = today.clearTime() +2
if(today.day in [4,5,6]){
//on thursday, friday or saturday add 2 days to account for the weekend
minDate = minDate+2
}
cfValues['Target Date'] > minDate
TAGS
AUG Leaders

Atlassian Community Events