Event has empty Changelog

Originally asked by Harold Oconitrillo on 08 March 2022 (original question)


We are using ScriptRunner and Exalate on our Jira and JSD instances and we are facing following issue when having a ScriptRunner Listener, which listens on the events “com.exalate.api.domain.trigger.EXALATED” and “com.exalate.api.domain.triggerUPDATED”, we recognized that the function in ScriptRunner event.getChangeLog() returns always null. After investigating the payload we saw, that the ChangeLog for ALL exalate events are null.


Answer by Eileen Reimers on 09 March 2022

Hallo

may be this documentation is a good workaround to get the details to the field again:

https://docs.idalko.com/exalate/display/ED/How+to+force+a+quick+sync+of+missing+fields+in+the+synced+issues

Eileen


Comments:

Harold Oconitrillo commented on 09 March 2022

Hello,

The ScriptRunner event.getChangeLog() always returns null, is an expected behavior when Exalate finishes synchronization issues, it means that issues are under synch for the time being. This is a notification that Exalate has finished updates.

Kind regards,

Harold Cruz

Francis Martens (Exalate) commented on 10 March 2022

Chris,

What Harold wants to clarify is that the event ‘com.exalate.api.domain.trigger.EXALATED’ always has an empty changelog.

The statement made is correct.

> After investigating the payload we saw, that the ChangeLog for ALL exalate events are null.

It is not a bug, it is expected.

Chris commented on 11 March 2022

Hi Francis.
thanks for your reply.

In native Jira events we receive with “event.getChangeLog()” a list of fields, which where changed by this event, including the old and the new value - is it possible to have the same for Exalate events?

If not, is there a “best practice” to achieve a Listener which listens to the event “com.exalate.api.domain.triggerUPDATED” and shall only be executed when a specific field has changed to a specific value?

Best regards,
Chris