2015-11-03 45 views
0

请帮忙。我无法理解我的脚本有什么问题。Groovy异常

import org.apache.log4j.Category 
import com.atlassian.jira.ComponentManager 
import com.atlassian.jira.component.ComponentAccessor 
import com.atlassian.jira.jql.builder.JqlQueryBuilder 
import com.atlassian.jira.event.type.EventDispatchOption 
import com.atlassian.jira.issue.MutableIssue 
import java.util.Date 
import java.util.Calendar 
import com.atlassian.jira.bc.JiraServiceContextImpl 
import com.atlassian.jira.web.bean.PagerFilter 
import com.atlassian.jira.issue.Issue 
import java.util.List 
import com.atlassian.jira.issue.IssueInputParameters 
import com.atlassian.jira.user.util.UserManager 
import com.atlassian.jira.user.ApplicationUser 
import com.atlassian.crowd.embedded.api.CrowdService 
import com.atlassian.crowd.embedded.api.User 


def Category log = Category.getInstance("com.onresolve.jira.groovy.PostFunction") 
log.setLevel(org.apache.log4j.Level.DEBUG) 

def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser() 
def ctx = new JiraServiceContextImpl(user) 
def searchRequestService = ComponentManager.getInstance().getSearchRequestService() 
def searchProvider = ComponentManager.getInstance().getSearchProvider() 
def sr = searchRequestService.getFilter(ctx, 17540) 
def searchResult = searchProvider.search(sr?.getQuery(), user, PagerFilter.getUnlimitedFilter()) 
def issueManager = ComponentManager.getInstance().getIssueManager() 
def issues = searchResult.getIssues().collect {issueManager.getIssueObject(it.id)} 


for (issue in issues){ 
    issueInputParameters issueToCreate = ComponentAccessor.getIssueService().newIssueInputParameters(); 
    issueToCreate.setSummary("This is a test."); 
    issueToCreate.setDescription("Testing issue creation"); 
    issueToCreate.setAssigneeId(user.getName()); 
    issueService.createValidationResult validationResult = ComponentAccessor.getIssueService().validateCreate(user, issueToCreate); 
    if(!validationResult.isValid()){ 
     for(String registeredErrorMessage:validationResult.getErrorCollection().getErrors().values()) 
     { 
       printx "Failed" 
     } 
    } 
    else { 
     issueService.issueResult createdIssue = ComponentAccessor.getIssueService().create(user, validationResult); 
    } 
} 
return issues 

我获得下excetpion:

groovy.lang.MissingMethodException:法无签名: org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.issueInputParameters() 适用于参数类型: (com.atlassian.jira.issue.IssueInputParametersImpl)值: [[email protected]]在 Script87.run(Script87.groovy:34)

谢谢。

回答

1

不应该在此行中issueInputParameters被capitialized - IssueInputParameters

issueInputParameters issueToCreate = ComponentAccessor.getIssueService().newIssueInputParameters();