PageRenderTime 36ms CodeModel.GetById 10ms RepoModel.GetById 1ms app.codeStats 0ms

/src/test/resources/examples/RemainingWorkInProjectScriptedField.groovy

https://bitbucket.org/sorin/jira-plugin-intellij
Groovy | 31 lines | 19 code | 10 blank | 2 comment | 0 complexity | bd2c06e00185916fb45771679a5b70b1 MD5 | raw file
  1. package examples
  2. import com.atlassian.jira.ComponentManager
  3. import com.atlassian.jira.jql.builder.JqlQueryBuilder
  4. import com.atlassian.jira.issue.Issue
  5. import com.atlassian.jira.issue.search.SearchRequest
  6. import com.atlassian.jira.issue.search.SearchResults
  7. import com.atlassian.jira.web.bean.PagerFilter
  8. import com.atlassian.jira.issue.search.SearchProvider
  9. def componentManager = ComponentManager.getInstance()
  10. Issue testIssue = componentManager.getIssueManager().getIssueObject("JRA-1013")
  11. SearchProvider searchProvider = componentManager.getSearchProvider()
  12. JqlQueryBuilder builder = JqlQueryBuilder.newBuilder()
  13. def query = builder.where().project(testIssue.projectObject.id).and().resolution().isEmpty().buildQuery()
  14. SearchRequest sr = new SearchRequest(query)
  15. SearchResults results = searchProvider.search(sr.getQuery(), componentManager.getJiraAuthenticationContext().getUser(), PagerFilter.getUnlimitedFilter())
  16. def totalWork = results.issues.collect {Issue issue ->
  17. (issue.originalEstimate ?: 0) - (issue.timeSpent ?: 0)
  18. }.sum()
  19. log.debug(totalWork)
  20. // todo: requires the same renderer as the OriginalEstimate system field
  21. // todo: also need testing what the current user is when reindexing