Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
ExcerptA Calculated Date/Time custom field type returning a java.util.Date (which represents a date+time). It is If you have upgraded from JMCF 1.x to 2.x please refer to the upgrade


Excerpt

A Calculated Duration custom field type returning a duration string or a number in Long format representing the number of seconds. It is a read-only field that returns the result of the evaluation of a formula.

Adding a Calculated

Date/Time

Duration custom field type

To add a Calculated Date/Time 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 Date/Time 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.
Note.


Search template

When creating a Calculated Date/Time Duration custom field type, you can configure the Search template as Date range picker to  to be able to search for issues within a date/time 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

Date/Time custom field type NoteStarting from 2.0.0 BeanShell has been replaced by Groovy in the JMCF add-on. Scripts written in BeanShell will work unchanged in Groovy except for some specific cases.

Duration custom field type

To write a formula for the Calculated Date/Time 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 java.util.Date. You String containing a duration or 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 for examples on the values expected by this field. Some more examples of a writing a Groovy formula:

  • A Groovy expression that references any field of the issue that returns a java.util.Date. For example, storing the issue updated date/time.A Groovy expression returning java.util.Date. For example returning the current date/time

    Code Block
    languagegroovy
    linenumberstrue
    new Date()

    the Original estimate of the issue:

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

    A Groovy expression that includes arithmetic operators as well as any other Groovy operator, and Groovy method callsFor example, adding a specific number of days to the issue creation date.

    Code Block
    languagegroovy
    linenumberstrue
    issue.get("created") + 5
Note

Make sure that the formula returns either a java.util.Date or a String representing a Date or null. You can test your written scripts against any issue using the Groovy script tester.

  • originalestimate")


Customizing the display of the Calculated

Date/Time

Duration custom field type value

By default, the Calculated Date/Time Duration custom field type value is displayed using Jira's default date format (if you leave the Date Format to Default)in Duration format. However, you can customize it. To  

To select a format for a Calculated Date/Time 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 Date Format.

  4. Select a format from the Date Duration format drop-down.
  5. Click on Save.

The available formats are:

Duration: The calculated field duration is displayed as a 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.

Customizing the display of the Calculated Date/Time custom field type value in the List views

By default, the Calculated Date/Time custom field type value is displayed using Jira's default date format (if you leave the Date Column Format to Default) in the tabular views. However, you can customize it. To select a format for a Calculated Date/Time custom field type value in the List views

For example, 144000 seconds is displayed as 1w

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

Return the Html representation 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 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. Click on Edit Date Column FormatVelocity Template.
  4. Select a format from the Date format drop-downInput the template.
  5. Click on Save.
For example, if you select the COMPLETE option in the Edit Date Format/Edit Date Column Format, and the value returned by the Groovy formula is Thu Jan 25 15:20:34 IST 2018, then the value will be formatted to 25/Jan/18 3:20 PM

You can use the following Velocity variables in the template:

  • $value: the raw field value (such as a Date object for a date/time calculated 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.