The Atlassian Community Forums are currently in read-only mode. We will be relaunching on a new platform on September 22 (read more here). We apologize for the extended downtime. For concerns or questions, please email communitymanagers@atlassian.com. See you on the other side, on the new Atlassian Community Forums! :)

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

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

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

0 votes
Answer accepted
PD Sheehan
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
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 :)

PD Sheehan
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
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