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()); } }
Overview
Content Tools