2015-11-03 40 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();