Field 'reporter' does not sync. Always user 'Exalate'

Originally asked by Yevhen on 11 November 2021 (original question)


Hello. I got the next problem. Trying to sync Jira on-premise to Jira Cloud .

Script scheme shoosen script.

On cloud side in Incoming sync script placed

issue.reporter = nodeHelper.getUserByEmail(replica.reporter.email)

reporter e-mail visible in Jira Cloud and Jira Server

But every time all issues synced with reporter “Exalate“


Comments:

Ariel Aguilar commented on 11 November 2021

Hi Yevhen,

To sync the reporter, you should use on the Incoming sync:

issue.reporter = nodeHelper.getUserByEmail(replica.reporter.email)

Kind regards,

Ariel

Yevhen commented on 12 November 2021

Damn, I made mistake in my ask. I used this particular string, with ‘reporter’

Ariel Aguilar commented on 16 November 2021

Hi Yevhen,

Is this is not working, you might want to make sure the Exalate proxy user in Cloud side has proper permissions to edit / update the issue. Please check: https://docs.idalko.com/exalate/x/Rwp1Aw

Let me know if it helped.

Kind regards,

Ariel

Yevhen commented on 18 November 2021

Hi Ariel,

I appreciate your attention for my problem.

I found that Exalate proxy-user exist, even grant him all permissions for issues directly at both sides (my current server, and cloud). In case sync from cloud to server problem resolved - reporter, assigne and other fields now correctly sync. But in case server to cloud sync I still got Exalate as reporter, and unassigned as assignee (((

Sure

issue.reporter = nodeHelper.getUserByEmail(replica.reporter.email)  
issue.assignee = nodeHelper.getUserByEmail(replica.assignee.email)  
added on both Exalate connections for Incoming sync

Answer by Daniel Carvajal on 18 November 2021

Hi Yevhen

According to the Atlassian changes in user privacy policy, Jira Cloud user may hide the email address in the Atlassian account settings.
This affects user fields synchronization since Exalate uses API to search by email. Therefore, make sure that the email is visible for the Exalate app in the Atlassian account.

Also the nodeHelper.getUserByEmail will returns a null in case:

  • the user email address is not found
  • the Exalate user has no ‘Browse Users’ permissions

Can you make sure that the second point is addressed?

Also an useful exercise is to check the replica, you can go to the Entity sync status on the Exalate panel in Jira cloud and use the issue key to look for the specific issue you are using, here you will be able to see how the replica is being sent(show remote replica) and how its locally(show local replica). If the remote replica contains the email address and the local too its likely a permission problem, where the Exalate Proxy user cannot update the user since it lacks permission.

Please check on this points and update us so we can know what is the culprit of this problem.

Cheers,

Daniel


Comments:

Yevhen commented on 22 November 2021

Hello, Daniel.

So my problem was related to wrong proxy-user which was ‘backbonesync’ (any ideas why it happened) on server side.

After I put this user in jira-administrators group on cloud site all issues starts sync with correct reporter and assignee fields.

Thanks for your attention and advises!!!