Groovy editor in JMWE

Cloud Migration Resources

Planning a Jira Cloud migration? These resources can help you get started:

JMWE Cloud features – Review Cloud features and understand key differences between DC and Cloud.
Migration support from Appfire – Learn how we can help you migrate smoothly.

Groovy editor in JMWE

Starting with version 5.0.0, the JMWE add-on is provided with a Groovy script editor and tester in the post-function configuration screens. This document details the Groovy editor in JMWE, its features, its availability and keyboard shortcuts. 

On this page:

Groovy editor features

Groovy editor in JMWE is where you should be writing your Groovy scripts. This editor has the

  • Basic features like automatically indenting the code, checking for syntax errors in the code, colorizing keywords, comments, variables and so on and

  • Advanced features, such as Find and Replace, that are available through keyboard shortcuts. 

Groovy Help in the Groovy editor

The editor also has a Groovy help section that assists you in writing your Groovy scripts with ease. It has the following tabs:

Expected Value: This tab lists the possible expected values for the selected Field and Value Type. This is applicable in contexts where you set a field value or comment an issue or write a conditional Groovy script. Select the Field and Value Type. Click on Expected Value. The help editor displays the expected values for the selected field based on the value type. Expected values of all the fields are listed here.

Templates: This tab lists a few important Groovy markups that you might want to use to create your Groovy templates. This is applicable in contexts where you set a field value, comment an issue, write content (in the Email issue post-function) or a JQL search expression using Groovy templates. Hover over any button to get the information, click on it to insert it into the editor. For more information, click here.

Globals: This tab lists the Global variables and functions that are available for your Groovy expressions and templates. Hover over any button to get the information, click on it to insert it into the editor. For more information, click here.

Issue Fields: This tab lists the fields of the current issue, original issue, linked issue or the parent issue depending on the context. Select a field and an issue variable. The help editor displays a few Groovy expressions accessing the field values, sub-fields etc by the field name. You can refer to the issue either by the field name or the field ID.  Groovy expressions to access all the fields of an issue are listed here.

Issue Methods: This tab lists the methods applicable to the current issue, original issue, linked issue or the parent issue depending on the selected issue variable. Hover over any button to get the information, click on it to insert it into the editor. For more information, click here.

Interfaces: This tab can describe any Jira, Groovy or Java interface or class. Select an interface and the editor displays the properties and methods of the selected interface. Hover over any button to get the information, click on it to insert it into the editor. For more information, click here.

More help: This menu gives you access to additional help pages.

Ensure the Groovy script or template inserted into the editor matches the Groovy input type selected in the post-function (wherever applicable). If not, a warning message is displayed notifying you to modify the input type.

Groovy Help in the Groovy editor

Suppose you want the issue to get assigned to the Project Lead if left unassigned.

  • Add the Set field value post-function to the transition of the issue workflow.

  • Select the Assignee field.

  • Select Groovy expression in the Value type.

  • Click on Issue Fields tab of the help editor.

  • Select Project under Select a field.

  • Under the Accessing sub-fields section locate the Groovy expression to access the Project Lead.

  • Click on it to insert it into the editor.

  • Go to the Conditional Execution section of the post-function and activate it.

  • Click on Issue Fields of the help editor.

  • Select Assignee under Select a field.

  • Under the Testing the field's value section locate the Groovy expression to test whether the Assignee field is empty.

  • Click on it to insert it into the editor.

Groovy editor availability

  • The Groovy script editor in JMWE is available on the:

    • Post-function configuration screen when you select:

      • Groovy expression/Groovy Template as Value type in the post-functions that set a field value

      • Groovy expression/Groovy Template as Comment type in the post-functions that comment an issue

      • the Conditional execution option in any post-function

    • Post-function configuration screen of the Create/Clone issue(s) post-function when you select:

      • Calculated as Project

      • Calculated as Parent issue

      • Set field value from Groovy or Set field value from Groovy template while setting a field in Set fields of new issue

      • Groovy expression/Groovy Template as Comment type while adding a comment to the current issue

    • Post-function configuration screen of the Email issue post-function while writing the Email content and recipients

    • Post-function configuration screen of the Link issues to the current issue post-function while writing the JQL search expression

    • Post-function configuration screen of the Unlink issues from the current issue post-function

    • Configuration screens of the Scripted (Groovy) condition, Scripted (Groovy) validator and Scripted (Groovy) operation on issue post-function

    • Groovy console admin screen that allows you to test/run Groovy scripts

Groovy editor toolbar

The Groovy editor has a toolbar with the following features. Clicking on:

  • Find: Opens the search box. Use /re/ syntax for regexp search

  • Find Next: Finds the next occurrence of a search

  • Replace: Opens the Replace window. Replace a certain text with a specified text

  • Test Groovy Script: Opens the Test Groovy script window to input the Issue key. Use it to test your script.

  • Test again: Retests your script

The shortcuts for Find, Find Next and Replace are shown in the table below.

Groovy editor keyboard shortcuts

You can use the following shortcut keys as an alternative to the mouse when working in this editor, while the cursor is active in a code editor: 

Command

Description

PC

Mac

Command

Description

PC

Mac

find

Opens the search box. Use /re/ syntax for regexp search

Ctrl-F

Cmd-F

findNext

Post a search, finds the next occurrence of the search

Ctrl-G

Cmd-G

findPrev

Post a search, finds the previous occurrence of the search

Shift-Ctrl-G

Shift-Cmd-G

replace

Opens the Replace window.

Shift-Ctrl-F

Cmd-Alt-F

replaceAll

Opens the Replace all window

Shift-Ctrl-R

Shift-Cmd-Alt-F

selectAll

Select the whole content of the editor

Ctrl-A

Cmd-A

singleSelection

When multiple selections are present, this deselects all but the primary selection

Esc

Esc

killLine

Deletes the part of the line after the cursor. If that consists only of whitespace, the newline at the end of the line is also deleted.



Ctrl-K

deleteLine

Deletes the whole line under the cursor, including newline at the end.

Ctrl-D

Cmd-D

delWrappedLineLeft

Delete the part of the line from the left side of the visual line the cursor is on to the cursor.



Cmd-Backspace

delWrappedLineRight

Delete the part of the line from the cursor to the right side of the visual line the cursor is on.



Cmd-Delete

undo

Undo the last change

Ctrl-Z

Cmd-Z

redo

Redo the last undone change

Ctrl-Y

Shift-Cmd-Z or Cmd-Y

undoSelection

Undo the last change to the selection, or if there are no selection only changes at the top of the history, undo the last change.

Ctrl-U

Cmd-U

redoSelection

Redo the last change to the selection, or the last text change if no selection changes remain.

Alt-U

Shift-Cmd-U

goDocStart

Move the cursor to the start of the document.

Ctrl-Home

Cmd-Up or Cmd-Home

goDocEnd

Move the cursor to the end of the document.

Ctrl-End

Cmd-End or Cmd-Down

goLineStart

Move the cursor to the start of the line.

Alt-Left

Ctrl-A

goLineStartSmart

Move to the start of the text on the line, or if we are already there, to the actual start of the line (including whitespace).

Home

Home

goLineEnd

Move the cursor to the end of the line.

Alt-Right

Ctrl-E

goLineRight

Move the cursor to the right side of the visual line it is on.



Cmd-Right

goLineLeft

Move the cursor to the left side of the visual line it is on. If this line is wrapped, that may not be the start of the line.



Cmd-Left

goLineUp

Move the cursor up one line.

Up

Ctrl-P

goLineDown

Move down one line.

Down

Ctrl-N

goPageUp

Move the cursor up one screen and scroll up by the same distance.

PageUp

Shift-Ctrl-V

goPageDown

Move the cursor down one screen and scroll down by the same distance.

PageDown

Ctrl-V

goCharLeft

Move the cursor one character left, going to the previous line when hitting the start of the line.

Left

Ctrl-B

goCharRight

Move the cursor one character right, going to the next line when hitting the end of the line.

Right

Ctrl-F

goWordLeft

Move the cursor to the start of the previous word.



Alt-B

goWordRight

Move the cursor to the end of the next word.



Alt-F

goGroupLeft

Move to the left of the group before the cursor.

Ctrl-Left

Alt-Left

goGroupRight

Move to the right of the group after the cursor.

Ctrl-Right

Alt-Right

delCharBefore

Delete the character before the cursor.

Shift-Backspace

Ctrl-H

delCharAfter

Delete the character after the cursor.

Delete

Ctrl-D

delWordBefore

Delete up to the start of the word before the cursor.



Alt-Backspace

delWordAfter

Delete up to the end of the word after the cursor.



Alt-D

delGroupBefore

Delete to the left of the group before the cursor.

Ctrl-Backspace

Alt-Backspace

delGroupAfter

Delete to the start of the group after the cursor.

Ctrl-Delete

Ctrl-Alt-Backspace or Alt-Delete

indentAuto

Auto-indent the current line or selection.

Shift-Tab

Shift-Tab

indentMore

Indent the current line or selection by one indent unit.

Ctrl-]

Cmd-]

indentLess

Dedent the current line or selection by one indent unit.

Ctrl-[

Cmd-[

defaultTab

If something is selected, indent it by one indent unit. If nothing is selected, insert a tab character.

Tab

Tab

transposeChars

Swap the characters before and after the cursor.



Ctrl-T 

newlineAndIndent

Insert a newline and auto-indent the new line.

Enter

Enter

toggleOverwrite

Flip the overwrite flag.

Insert

Insert

Need support? Create a request with our support team.

Copyright © 2005 - 2026 Appfire | All rights reserved.