Versions Compared

Key

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


Section


Column

Starting with version 2.0.0, the JMCF add-on comes with a Groovy script editor and tester in the configuration screens of the calculated custom field. This document details the Groovy script tester, its availability and features.

The Groovy script tester tool lets you test your written script against any issue. The main advantage of this tool is that you can quickly test and debug your script and make changes without having to actually save the custom field and recalculate the calculated field value.


Column
width50%


Panel
borderColorsilver
bgColor#f5f5f5
borderWidth1
borderStylesolid

On this page:

Table of Contents



...

Panel

Test a script that returns the sum of two number fields:

  1. Locate the custom field on the Custom Fields administration page.
  2. Click on the cog wheel and click on Configure.
  3. In the Groovy editor, write the following lines of code:

    Code Block
    languagegroovy
    linenumberstrue
    issue.get("customfield_10114") + issue.get("customfield_10150")


  4. Click on the Test Groovy Script button on the toolbar.
  5. Type an Issue key.
  6. Click on Test.
  7. The following result is displayed:

...

  • Identify the problem, from the Message that displayed a null pointer exception error and the Stack that displayed the line number on which the error occurred.
  • Correct the problem, checking for null values and then returning the result.

    • In

...

...

    •  write the following lines of code:

      Code Block
      languagegroovy
      linenumberstrue
      if (issue.get("customfield_10028") == null || issue.get("customfield_10006") == null)
          return null;
      else  
      return issue.get("customfield_10028") + issue.get("customfield_10006");


    • Click on Test again.

    • The following result is displayed:
      Image Modified

Using the log variable

Using the log variable, you can debug your script, a step further, by adding information into the log. For example, while testing a condition in your script, if the result evaluates to false when you expect it to be true, you might want to know what values are being compared in your condition. In such cases, you can use the log variable to display the value.

Note

The log calls should always be used before the return statement because they would never get executed after it.

  • Use log variable, in the above script to know the values of the custom fields.

    Code Block
    log.warn("Value of field 10028 is: "+issue.get("customfield_10028"));
    log.warn("Value of field 10006 is: "+issue.get("customfield_10006"));
    if (issue.get("customfield_10028") == null || issue.get("customfield_10006") == null)
        return null;
    else  
    return issue.get("customfield_10028") + issue.get("customfield_10006");


  • Re-test the script, the following result is displayed.
  • Image Modified
  • Remove your logging code, so that log entries don't get written to Jira's logfile each time the field is calculated.