Script Runner: Error when performing a search in the Script Console

Jens Goetz November 6, 2015

Hello,

 

When I try to perform the following search in the Script Console, I get the following error from the Script Console:

import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.bc.issue.IssueService
import com.atlassian.jira.bc.issue.search.SearchService;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.IssueInputParameters
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.link.IssueLink
import com.atlassian.jira.user.ApplicationUsers;
import com.atlassian.jira.web.bean.PagerFilter;

User user = ApplicationUsers.toDirectoryUser(ComponentAccessor.getJiraAuthenticationContext().getUser())
SearchService searchService = ComponentAccessor.getComponent(SearchService.class)
List<Issue> issueBoardIssues = searchService.search(user, searchService.parseQuery(user, "project = IB"), PagerFilter.getUnlimitedFilter()).getIssues()

...
No signature of method: 
com.atlassian.jira.bc.issue.search.DefaultSearchService.search() is 
applicable for argument types: 
(com.atlassian.jira.user.BridgedDirectoryUser, 
com.atlassian.jira.bc.issue.search.SearchService$ParseResult, 
com.atlassian.jira.web.bean.PagerFilter) values: [admin:1, 
com.atlassian.jira.bc.issue.search.SearchService$ParseResult@25a3037, 
...]
Possible solutions: search(com.atlassian.crowd.embedded.api.User, 
com.atlassian.query.Query, com.atlassian.jira.web.bean.PagerFilter), 
each(groovy.lang.Closure)

 

JIRA 6.2

Script Runner 3.0.5

 

 

Best regards

Jens

2 answers

1 accepted

0 votes
Answer accepted
Jens Goetz November 10, 2015

My fault ...

I forgot to call getQuery on SearchService.parseQuery:

...
List<Issue> issueBoardIssues = searchService.search(user, searchService.parseQuery(user, "project = IB").getQuery(), PagerFilter.getUnlimitedFilter()).getIssues()
...
1 vote
Vijay Khacharia
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 6, 2015
As error says, the parameters dont match the search method.

I use something like this.

import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.search.SearchProvider
import com.atlassian.jira.issue.search.SearchResults
import com.atlassian.jira.jql.builder.JqlClauseBuilder
import com.atlassian.jira.jql.builder.JqlQueryBuilder
import com.atlassian.jira.user.ApplicationUsers
import com.atlassian.jira.web.bean.PagerFilter
import com.atlassian.query.Query

SearchProvider searchProvider = ComponentAccessor.getSearchProvider()
User user = ApplicationUsers.toDirectoryUser(ComponentAccessor.getJiraAuthenticationContext().getUser())
JqlClauseBuilder builder = JqlQueryBuilder.newClauseBuilder();

Query query = builder.status("Open").and().project().eq("ABC").buildQuery()
SearchResults searchResults = searchProvider.search(query, user, PagerFilter.getUnlimitedFilter());
Jens Goetz November 8, 2015

But the error message does not make sense, because: com.atlassian.jira.user.BridgedDirectoryUser implements com.atlassian.crowd.embedded.api.User

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events