import com.atlassian.jira.bc.issue.search.SearchService; import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.issue.Issue; import com.atlassian.jira.issue.search.SearchException; import com.atlassian.jira.security.JiraAuthenticationContext; import com.atlassian.jira.user.ApplicationUser; import com.atlassian.jira.web.bean.PagerFilter; import org.apache.log4j.Logger; /** * Logger */ Logger LOGGER = Logger.getLogger(this.getClass()); /** * Services */ SearchService searchService = ComponentAccessor.getOSGiComponentInstanceOfType(SearchService.class); JiraAuthenticationContext jiraAuthenticationContext = ComponentAccessor.getJiraAuthenticationContext(); /** * Current user */ ApplicationUser applicationUser = jiraAuthenticationContext.getLoggedInUser(); /** * Validate query */ String jql="assignee=currentUser()"; SearchService.ParseResult parseResult = searchService.parseQuery(applicationUser, jql); if (parseResult.isValid()) { try { /** * Execute the search and get the issues */ List issues = searchService.search(applicationUser, parseResult.getQuery(), PagerFilter.getUnlimitedFilter()).getResults(); }catch (SearchException ex){ LOGGER.error("Error searching: ",ex); } } else { LOGGER.error("Error parsing: " + parseResult.getErrors());