I want to write validator to check date.
When i throw Exception - script not add comment
When i dont throw Exception -script add comment but dont block transition
Any help how this can be done?
Code:
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.Issue;
import com.opensymphony.workflow.InvalidInputException;
import org.apache.log4j.Category;
import java.time.LocalDate;
import com.atlassian.jira.issue.comments.CommentManager
import groovy.xml.MarkupBuilder;
import com.atlassian.jira.config.properties.APKeys;
import com.atlassian.jira.user.ApplicationUser
// Get a pointer to the issue
Issue issueKey = issue;
// Get the current logged in user
def CurrentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser() as ApplicationUser
def issueManager = ComponentAccessor.getIssueManager();
def customFieldManager = ComponentAccessor.getCustomFieldManager();
def cField = customFieldManager.getCustomFieldObject("customfield_13200");
def cFieldValue = (String)issue.getCustomFieldValue(cField);
// Get access to the Jira comment and component manager
CommentManager commentManager = ComponentAccessor.getCommentManager();
LocalDate a = LocalDate.parse(cFieldValue.substring(0,10));
LocalDate b = LocalDate.now().plusMonths(3);
if (a>b){
commentManager = ComponentAccessor.getCommentManager()
commentManager.create(issueKey, CurrentUser, "Wrong date", true)
InvalidInputException error= new InvalidInputException("Wrong date");
throw error;
return false;
}else {
return true;}