Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

ScriptRunner Listener in Jira - catch when issue value is cleared

Greg Fischer September 6, 2019

Hi all,

 

I am writing a ScriptRunner listener in Jira to catch when a couple of issue fields are cleared by the user.  I have the listener firing on an Issue Update event.  If the value of the fields change to another valid value, the listener is being invoked.  However, if the value of the field is cleared and is now null and the field gets deleted from the issue, the listener is not invoked.  What event do I have to catch in order to be invoked when those fields are cleared and the attribute gets deleted from the issue?  I am assuming that the CustomFieldDeletedEvent is looking strictly at custom fields, not at issues.

 

Also, for the two fields I am interested in (Epic Link and Portfolio's Parent Link), I don't seem to be getting invoked at all on some occassions, yet I do on others (without changing any additional fields on the issue - I only change Epic Link or Parent Link).

 

Thanks,

Greg

2 answers

2 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
Greg Fischer September 9, 2019

I finally got this to work (for Epic Link) by catching IssueChangedEventImpl - that does get fired and invoke the listener when Epic Link changes.  Parent Link is a whole other problem, as IssueChangeEventImpl does not get fired if the value for Parent Link gets cleared - that event will only be fired if the value is set or changed.

0 votes
Answer accepted
Marc Minten _EVS_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 9, 2019

Hi,

Indeed, issue update events are not (properly) launched by the Epic-Link field changes, thats a known issue. I guess it dates from the time that the Agile part of Jira was still an add-on developed by an external company, and this field was(is still) s just a UI "placehiolder". the real info is in the link between the Epic and the issue. So i guess you better look for the issuelinkchange event...

I do not use Portfolio, but I guess its a similar issue ?

Greg Fischer September 9, 2019

Yes, thanks!  This morning I started looking at the issuelinkdeletedevent and I am getting called every time (at least with Epic Link changes - haven't coded for Parent Link yet but like you, I suspect the same).

Greg Fischer September 9, 2019

Ah, and here is the problem.  I need to catch if the Epic Link was cleared on a Story, and put back the previous value if so.  If I catch IssueLinkDeletedEvent, my code gets called before any subsequent IssueLinkCreatedEvent.  So if the user just updated the Epic Link, then a subsequent IssueLinkCreatedEvent will be invoked.  If they cleared Epic Link, then just the IssueLinkDeletedEvent will fire.  Is there any way I can tell if a link create event will be fired after me?

TAGS
AUG Leaders

Atlassian Community Events