How do I get all the issues "in progress" of the logged in user?
status = "In Progress" and assignee = currentUser()
You have to do a search in your script with the JQL stated by Chris. You could use a method like this.
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.IssueManager import com.atlassian.jira.user.ApplicationUser import com.atlassian.jira.user.ApplicationUsers import com.atlassian.jira.web.bean.PagerFilter static List<Issue> getFilterResult(String jqlSearch, ApplicationUser user) { SearchService searchService = ComponentAccessor.getComponent(SearchService.class) IssueManager issueManager = ComponentAccessor.getIssueManager() List<Issue> issues = null SearchService.ParseResult parseResult = searchService.parseQuery(ApplicationUsers.toDirectoryUser(user), jqlSearch) if (parseResult.isValid()) { def searchResult = searchService.search(ApplicationUsers.toDirectoryUser(user), parseResult.getQuery(), PagerFilter.getUnlimitedFilter()) // Transform issues from DocumentIssueImpl to the "pure" form IssueImpl (some methods don't work with DocumentIssueImps) // This is not needed in every place and the collect{} part maybe skipped for better performance issues = searchResult.issues.collect {issueManager.getIssueObject(it.id)} } return issues }
This method is completely without logging and only with basic error handling, so feel free to expand. :-)
Hi Henning.
Could you show me how to pick up the logged in user and also how to do JQL?
thank you
Yes, you can get the current user like this
ApplicationUser user = ComponentAccessor.jiraAuthenticationContext.getUser()
And the jqlSearch String is the same you would enter as an advanced search in JIRA.
String jqlSearch = 'status = "In Progress" and assignee = currentUser()'
Wow ! Nice Job Henning, Tank s !
It looks like you're new here. Sign in or register to get started.