/src/test/resources/examples/RemainingWorkInProjectScriptedField.groovy
Groovy | 31 lines | 19 code | 10 blank | 2 comment | 0 complexity | bd2c06e00185916fb45771679a5b70b1 MD5 | raw file
- package examples
-
- import com.atlassian.jira.ComponentManager
- import com.atlassian.jira.jql.builder.JqlQueryBuilder
- import com.atlassian.jira.issue.Issue
- import com.atlassian.jira.issue.search.SearchRequest
- import com.atlassian.jira.issue.search.SearchResults
- import com.atlassian.jira.web.bean.PagerFilter
- import com.atlassian.jira.issue.search.SearchProvider
-
- def componentManager = ComponentManager.getInstance()
- Issue testIssue = componentManager.getIssueManager().getIssueObject("JRA-1013")
- SearchProvider searchProvider = componentManager.getSearchProvider()
-
-
-
- JqlQueryBuilder builder = JqlQueryBuilder.newBuilder()
- def query = builder.where().project(testIssue.projectObject.id).and().resolution().isEmpty().buildQuery()
-
- SearchRequest sr = new SearchRequest(query)
- SearchResults results = searchProvider.search(sr.getQuery(), componentManager.getJiraAuthenticationContext().getUser(), PagerFilter.getUnlimitedFilter())
-
- def totalWork = results.issues.collect {Issue issue ->
- (issue.originalEstimate ?: 0) - (issue.timeSpent ?: 0)
- }.sum()
-
- log.debug(totalWork)
-
- // todo: requires the same renderer as the OriginalEstimate system field
-
- // todo: also need testing what the current user is when reindexing