Scriptrunner skip validation for cloned issue

Rus January 19, 2022

Hello Community!

I have a working custom script validator to check due, if due (customfield) not null:


def plannedStartDate=ComponentAccessor.customFieldManager.getCustomFieldObject("customfield_11420")
def duedatetime2 = issue.getCustomFieldValue(plannedStartDate)

if (duedatetime2 == null) {


return true
}
else {

def noticket = new Timestamp((new Date() +1).getTime())
def startdate = (issue.getCustomFieldValue(plannedStartDate)as Timestamp).toLocalDateTime()
def noticket_date = ((noticket)as Timestamp).toLocalDateTime()


if (noticket_date.isBefore(startdate) ) {
return true }
else {
return false
}
}

 

But i need to skip check due, if due not null or if the issue was cloned, i tried like this:

 

sourceIssues.each() { issueLink ->
if (issueLink.issueLinkType.name.equals("Cloners")) {
sourceIssueObjects.add(issueManager.getIssueObject(issueLink.destinationId))
}
}

def plannedStartDate=ComponentAccessor.customFieldManager.getCustomFieldObject("customfield_11420")
def duedatetime2 = issue.getCustomFieldValue(plannedStartDate)

if ((duedatetime2 == null) || (sourceIssueObjects)) {
return true
}
else {

def noticket = new Timestamp((new Date() +1).getTime())
def startdate = (issue.getCustomFieldValue(plannedStartDate)as Timestamp).toLocalDateTime()
def noticket_date = ((noticket)as Timestamp).toLocalDateTime()


if (noticket_date.isBefore(startdate) ) {
return true }
else {
return false
}
}

But it doesn't work, validator skips all issue including non-cloned ones and doesn't check due.

 

 

0 answers

Suggest an answer

Log in or Sign up to answer