Need to Exclude update of one user

We have a requirement regarding our current integration setup between Jira Cloud and ServiceNow. We are using the ScriptRunner add-on in Jira Cloud, and we’ve observed that whenever ScriptRunner performs an update on a Jira issue, Exalate syncs that update to ServiceNow. This behavior is causing issues on the ServiceNow side.

To address this, we would like to exclude or skip updates made by the ScriptRunner user from being sent through the Exalate outgoing sync.

ScriptRunner Add-on User ID: 557058:d2e5bd5c-dc49-41eb-a6f0-5e01093666c1

Could you please advise if there is a way to achieve this using a condition or script in the Exalate outgoing sync configuration?

Looking forward to your guidance.

Hi @Manoj

This type of feature is not possible in Exalate, but we are still working to find some workaround. We will update you once we find any solution.

Thanks,
Sonal

Hi @Manoj

is it possible to share details like what specific fields are being updated by script runner, so that i can try to provide some workarounds ?

Thanks,
Sonal

HI @Sonal_Otwani

We’re trying to prevent any updates made by ScriptRunner from being synced.

To achieve this, we used the following script and added it under Jira Outgoing:

def blockUserAccountId = "557058:d2e5bd5c-dc49-41eb-a6f0-5e01093666c1"

if (issue.lastUpdater?.accountId == blockUserAccountId) {
return // Stop syncing
}

Hi @Manoj

Is it satisfying your use case?

Thanks,
Sonal

HI the above approach isn’t working. Do you have any suggestions or workarounds to achieve this? Specifically, we want to block certain user accounts from triggering Exalate sync.

@Manoj

This is not supported out of the box by Exalate. We really need to do long long advance configuration which will take time and may cause other issues.

Let me know in case you have any further questions.

Thanks,

Sonal

The code snippet should be at the top of the outgoing.
From the moment that the replica is touched with an assignment, there will be a sync triggered

Ie

this will work

// beginning of outgoing sync script

if (blocked_user) return

replica.summary = issue.summary

this will not work, because the replica is changed

// beginning of outgoing sync script

replica.summary = issue.summary

if (blocked_user)  return

Hey @francis

But here the problem will be you are ignoring the update only if last updated user is lets say XYZ. but when next update comes with another user , the changes made by XYZ will be synced. which should not be synced as per the requirement i understand.

Here we need to use similar to “change history” where we need to identify the changes made by which users and then make the replica.

Thanks,

Sonal

Hmmm.

Right - it sounds like some information should not be synced as it creates havoc on the servicenow side.
Instead of focusing on the user doing the change, would it be possible for @Manoj to list what information should not be synced and exclude that in the outgoing sync?

@francis @Sonal_Otwani

Let me clarify: we are using ScriptRunner in our instance to update a scripted field on a Jira issue. Currently, these updates trigger an Exalate sync, even though the scripted field is not included in the Exalate scripts. We need to ensure that updates made by ScriptRunner do not go through the Exalate sync.

Therefore, we need to exclude updates made by ScriptRunner from triggering the Exalate sync by configuring the appropriate sync rules.

Hi @Manoj

I think Request on Blocking Add-on Updates Using Changelog API is the same use case so we are working on that only. Lets do the further discussion there only

Thanks,

Sonal