Create a Validation of custom date field while creating the issue using scriptrunner

tamer_afifi
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
October 16, 2023

Hi All ,

 

I have a custom field "Target Implemintation Date" which is on the customer screen, I have created a validation on the create Transition that will compare the date it have to be more than 14 days in the future, otherwise it won't create the issue.

I used a "custom Script Validator" with the following code, but nothing happanes, please help.

 

import com.atlassian.jira.component.ComponentAccessor

def customFieldManager = ComponentAccessor.getCustomFieldManager()
def targetDateField = customFieldManager.getCustomFieldObjectByName("Target Implementation Date")

def targetDate = issue.getCustomFieldValue(targetDateField)

if (targetDate) {
    def currentDate = new Date()
    def futureDate = currentDate + 14

    if (targetDate > futureDate) {
        return true
    }
}
else
{
error ("please change the date ro be at least 14 days in the future")
}

1 answer

0 votes
Tuncay Senturk
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
October 16, 2023

Hi @tamer_afifi 

 

First, I may suggest some changes in your code.

Don't use the getCustomFieldObjectByName() method as it's deprecated. Instead, you can use the below code to get the custom field by its ID value (simply replace 'xxxxx' with your custom field long ID value.

def targetDateField = customFieldManager.getCustomFieldObject("customfield_xxxxx")
In the else part of your code please use
throw new InvalidInputException("please change the date to be at least 14 days in the future")
I hope it helps

Suggest an answer

Log in or Sign up to answer