Incompatibility of Exalate Plugin with Field Security Plugin

Originally asked by sachin sharma on 13 January 2020 (original question)


We are evaluating Exalate plugin, to sync jira tickets from one JIRA instance to another JIRA instance.

JIRA Version: JIRA Server 7.13.9

Exalate version: 4.6.10-j7

Receiving below error in Sync:

Exalate has problems performing actions in this Jira. Trying to invoke method to set user on class ‘class com.quisapps.jira.fieldsecurity.issue.SecureMutableIssueImpl’ but no available method was found in Jira API. Please contact exalate support.

Please help us to resolve this issue so that we can evaluate further and take a decision on license purchase.

com.exalate.api.exception.IssueTrackerException: Exalate has problems performing actions in this Jira. Trying to invoke method to set user on class 'class com.quisapps.jira.fieldsecurity.issue.SecureMutableIssueImpl' but no available method was found in Jira API. Please contact exalate support at com.exalate.node.compatibility.CompatibilityService.invokeSetUserMethod(CompatibilityService.java:592) at com.exalate.node.compatibility.CompatibilityService.setIssueReporter(CompatibilityService.java:602) at com.exalate.node.hubobject.v1_4.NodeHubIssueHelper.createIssue(NodeHubIssueHelper.java:515) at com.exalate.node.hubobject.v1_4.NodeHubIssueHelper.createIssueWith(NodeHubIssueHelper.java:439) at com.exalate.compatibility.HubObjectHelperAdapter.createNodeIssueWith(HubObjectHelperAdapter.java:38) at com.exalate.hubobject.v1_2.HubObjectHelper.createNodeIssueWith(HubObjectHelper.java:269) at com.exalate.processor.jira.JiraCreateIssueProcessor.applyProcessorResult(JiraCreateIssueProcessor.java:289) at com.exalate.processor.jira.JiraCreateIssueProcessor.applyProcessorResult(JiraCreateIssueProcessor.java:267) at com.exalate.processor.jira.JiraCreateIssueProcessor.createIssue(JiraCreateIssueProcessor.java:152) at com.exalate.replication.request.CreateIssueSyncRequestState.transition(CreateIssueSyncRequestState.java:73) at com.exalate.replication.request.CreateIssueSyncRequestState.transition(CreateIssueSyncRequestState.java:24) at com.exalate.replication.in.RequestProcessorService.processSyncRequest(RequestProcessorService.java:335) at com.exalate.replication.in.RequestProcessorService.processSyncRequestsForIssue(RequestProcessorService.java:198) at com.exalate.replication.in.RequestProcessorService.processSyncRequests(RequestProcessorService.java:145) at com.exalate.replication.in.RequestWorker$1.run(RequestWorker.java:79) at com.exalate.node.util.concurrent.ClusteredSensitiveExecutorService$1.run(ClusteredSensitiveExecutorService.java:32) at com.exalate.node.util.concurrent.ClusteredSensitiveExecutorService$1.run(ClusteredSensitiveExecutorService.java:28) at com.exalate.node.util.concurrent.ClusteredSensitiveExecutorService.executeHandlingLocks(ClusteredSensitiveExecutorService.java:54) at com.exalate.node.util.concurrent.ClusteredSensitiveExecutorService.executeHandlingLocks(ClusteredSensitiveExecutorService.java:28) at com.exalate.replication.in.RequestWorker.run(RequestWorker.java:72) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
  


Answer by Francis Martens (Exalate) on 13 January 2020

The problem with the Field Security Plugin is that there is no public api to set/read the fields (or not that we found)

If you would find it, setting these fields would be a breeze.