JIRA transition on custom field edit

Ray DR May 30, 2016

I would like to re-open an issue to start it over if a custom field for a team selection is changed.

I can't seem to find anything that will transition an issue after a field is updated.

Anything out there I can use for this? 

2 answers

1 accepted

0 votes
Answer accepted
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 30, 2016

You'll need to find or write a listener that can pick up any event that might mean the field could have changed, check for the change and issue the transition.

I don't think the Automation add-on can do the field confition, but other add-ons can.  I would, of course, use the Script Runner to do it (as I use it for almost everything).

Ray DR May 30, 2016

Ah yes Scriptrunner - I will test that now - Thanks!

Ray DR May 30, 2016

Currently stuck on the logic to pickup the change in the field value.

I want to essentially perform the following condition check when an item is updated:

"cfValues['Group Number'] is updated"

Scriptrunner does not like the syntax here. It seems to want a value I have as an option in the dropdown menu for the field. 

Would you happen to know what the syntax would look like for picking up a field update? 

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 30, 2016

I've not worked with the conditions much, I don't know if they can pick up that.

I've done it in pure code (i.e. just a "scripted listener" without any condtions) with something like:

def change = event?.getChangeLog()?.find {it.field == "My Field"}
if (change) {
<do stuff>
}

But, you may need to check that the "change" item in there contains something different to the current content of the field.  It's been a while since I've tinkered with that idea.

I think that'll still work in combination with conditions, so you could have a simple condition like "is issue type", and then still have the more advanced "only do this when a certain field has changed"
Ray DR May 30, 2016

I am working on a workflow transition and screen configuration to get this done cleaner.

Only the create screen will show the custom field. If someone wants to change the value they have to change the workflow which will display a custom screen showing the field where they can make a change. Once the change is made the workflow transitions to being open again.

In theory, this should work nicely. I am implementing it now. 

Ray DR May 30, 2016

I was able to get it working with screens and workflow changes.

  • The creation screen shows the custom field.
  • The view screen shows the custom field but it does not exist in the edit screens.
  • If someone wants to change the field they must choose the change group workflow item which displays the custom field allowing them to change it. 
  • The issue is transitioned to reopened starting the workflow again in the new groups queue. 
Like Margaret Boisvert likes this
0 votes
Ali Naqvi November 12, 2019

I agree with adding a listener answer.

I had to transition from New -> Open when a particular field was set.

So basically if cfValues['myField or myCustomField'] != null then transition to Open -

The events I had to apply this on were on Create and on Update.

The best way, I think, is to use add a Listener which appears as "Script Listeners" in the side panel under "SCRIPTRUNNER"

it will be easy peasy once you click on "Add New Item" once you are on the Listener page. Fill in the form and add your listener and enjoy...

Suggest an answer

Log in or Sign up to answer