Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Description

Estimate at Completion (EaC) = Time Spent + Remaining Estimate.

Configuration

1. Create a Projectrak Script field called "Estimate at completion (EaC)"

2. Insert the following Groovy script and modify accordingly to your instance:

Groovy Script

...

...

estimate-at-completion.groovy
Code Block
linenumberslanguagetruegroovy
package deiser.profields.scripts

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.fields.CustomField
import com.atlassian.jira.jql.builder.JqlQueryBuilder
import com.atlassian.jira.project.Project
import com.atlassian.jira.web.bean.PagerFilter

def PROJECT_ID = project.id

def searchService = ComponentAccessor.getOSGiComponentInstanceOfType(SearchService)
def jiraAuthenticationContext = ComponentAccessor.jiraAuthenticationContext

def loggedInUser = jiraAuthenticationContext.getLoggedInUser()
def query = JqlQueryBuilder.newBuilder().where().project(PROJECT_ID).buildQuery()

def sumTimeSpent = 0L
def sumRemainingEstimate = 0L
def sumOriginalEstimate = 0L
searchService.search(loggedInUser, query, PagerFilter.unlimitedFilter).results
        .each { issue ->
            sumTimeSpent += issue.getTimeSpent() == null ? 0 : issue.getTimeSpent()
            sumOriginalEstimate += issue.getOriginalEstimate() == null ? 0 : issue.getOriginalEstimate()
            sumRemainingEstimate += issue.getEstimate() == null ? 0 : issue.getEstimate()
        }

def estimateAtCompletion = sumTimeSpent + sumRemainingEstimate
return estimateAtCompletion 

3. Configure the project's layout including "Estimate at completion (EaC)" 

4. Associate the layout to the projectt you need this information to be applied to. 

...