Versions Compared

Key

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

   

Status
colourYellow
titleNew in JMCF 2.0.0

Excerpt


A Calculated Duration custom field type represents a duration and is displayed either as a duration string or as a number in a Long format representing the number of seconds. It is a read-only field.

Adding a Calculated Duration custom field type

To add a Calculated Duration custom field type to your instance:

  1. Log in to JIRA as an administrator.
  2. Go to the Administration icon  and click on it.
  3. Click on Issues - > Custom fields.
  4. Click on Add custom field.
  5. Click on Advanced in the left panel.
  6. Locate Calculated Duration Field type and select it.
  7. Click on Next.
  8. Provide a name for the custom field.
  9. You can optionally provide a description for the custom field.
  10. Click on Create.
  11. Associate the custom field to the appropriate screens.
  12. Locate the custom field in the Custom fields administration page and click on the cog wheel.
  13. Click on Configure and create a formula (explained below) for the field.
  14. You can create multiple contexts if you need to associate different formulas with particular projects or issue types.
  15. Perform a re-index as prompted by JIRA.


Panel
titleOn this page

Table of Contents


Panel
titleRelated links



Search template

When creating a Calculated Duration custom field type, you can configure the Search template as Duration searcher (using Time Tracking settings) or Number range searcher to be able to search for issues within a range of values for that custom field. If you select None for the searcher, then you won’t see any reference to this field in the Issue Navigator search fields. Note that changing a custom field searcher requires a re-index.

Configuring the Groovy formula for a Calculated Duration custom field type

To write a formula for the Calculated Duration custom field type;

  1. Locate the custom field on the Custom Fields administration page.
  2. Click on the cog wheel and click on Configure
  3. Click on Edit Groovy Formula
  4. In the editor write a Groovy script that returns a duration String or a number in a Long format representing the number of seconds. Also, you can test you written script against any issue using the Groovy script tester.
  5. Click on Save.

See the Expected Value tab of the Groovy help editor for examples on the values expected by this field. 

  • A Groovy expression returning a number in a Long format representing the number of seconds:

    Code Block
    languagegroovy
    linenumberstrue
    144000


  • A Groovy expression returning a duration String

    Code Block
    languagegroovy
    linenumberstrue
    "3w 2d"


  • A Groovy expression returning the Original estimate of the issue:

    Code Block
    languagegroovy
    linenumberstrue
    issue.get("originalestimate")


  • A Groovy expression adding a week time to the Time Spent on the issue

    Code Block
    languagegroovy
    linenumberstrue
    if(issue.timespent){
     return issue.timespent + 144000
    }
    else{
      return null
    }


  • A Groovy expression that returns the duration from issue creation to now. The difference between two date objects returns the number of days and hence you need to convert it into seconds since the calculated field expects either a duration String or a number in a Long format.

    Code Block
    languagegroovy
    linenumberstrue
    return (new Date() - issue.created)*24*60*60


Customizing the formatting of the Calculated Duration custom field type value

By default, the Calculated Duration custom field type value is displayed in Duration format. However, you can customize it. 

To select a format for a Calculated Duration custom field type value;

  1. Locate the custom field on the Custom Fields administration page.
  2. Click on the cog wheel and click on Configure.
  3. Select a format from the Duration format drop-down.
  4. Click on Save.

The available formats are:

Duration: The calculated field duration is displayed in the general duration format, where a day has 24 hours. For example, 144000 seconds is displayed as 1day, 16hours

Duration (Time Tracking Format): The calculated field duration is displayed as configured in Jira settings, where a day has 8 hours by default and a week has 5 days. For example, 144000 seconds is displayed as 1w

Number of seconds: The calculated field duration is displayed as a number in a Long format representing the number of seconds.

Customizing the display of the Calculated Duration custom field type value

You can now define a velocity template that will return the Html representation of the calculated custom field. Leave it empty to use the default template. 

To write a velocity template for a Calculated Duration custom field type value;

  1. Locate the custom field on the Custom Fields administration page.
  2. Click on the cog wheel and click on Configure
  3. Click on Edit Velocity Template.
  4. Input the template.
  5. Click on Save.

You can use the following Velocity variables in the template:

  • $value: the raw field value, such as the number of seconds for this field
  • $formattedValue: the field value formatted according to the field configuration
  • and other variables described on this page

For example:

Code Block
<div style="border: dashed">
  $formattedValue
</div>

displays the formatted value of the field with a dashed border.

Code Block
#if( $formattedValue > 2 )
  <font color= "red">
    <b> Delayed by $formattedValue </b>
    </font>
#else
  <font color= "blue">
      Delayed by $formattedValue
</font>
#end


Display of the Calculated Duration custom field type on Transition and Edit screen

Now you can control the display of the calculated Date/Time custom field on the transition and edit screens. If you select this option, the field will not be visible on the Edit and Transition screens, even if added to them.