Page tree
Skip to end of metadata
Go to start of metadata
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.bc.issue.search.SearchService
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.search.SearchException
import com.atlassian.jira.web.bean.PagerFilter
import com.opensymphony.workflow.InvalidInputException;
 

def jql = " issue in childrenOfParentRequirement("+issue.key+",\"all\") and status = Closed ";

def currentUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser

def searchService = ComponentAccessor.getComponentOfType(SearchService)
SearchService.ParseResult parseResult = searchService.parseQuery(currentUser, jql)
 
if (parseResult.isValid()) {
    try {
        def issueNumber = searchService.searchCount(currentUser, parseResult.query) as Long
        if(issueNumber >0) {
		  throw new InvalidInputException("当前子需求未全部关闭");
	}
    } catch (SearchException e) {
        throw new InvalidInputException("校验当前子需求未全部关闭时出错:"+e.getMessage());
    }
}

 
  • No labels