Wanting to get just the status of the Jira ticket put into a Zendesk Variable. With Zendesk, specific variable are given a number, and trying to get that variable assigned thru the incoming sync because the outgoing sync already sends it.
outgoing (Jira) -> replica.status = issue.status
Incoming(Zendesk) -> issue.customField.“360023300132”.value = nodeHelper.getOption(issue, 360023300132L , replica.status.value?.value)Source: Jira Server/Datacenter(old community)
Basically there is a bug in our code which doesn’t let you assign a string to a custom field of type option, so the workaround would be to add this to your incoming script:
of course you can change “Remote Status” to the actual name of your custom field, you don’t need to access it with the ID like you were doing before, with the name works fine.
The code will be improved in the following days to make this simpler so you will be able to do:
com.exalate.api.exception.bug.BugException: Unexpected error occurred. Generate an exalate support.zip file and contact support. at com.exalate.error.services.BugExceptionCategoryService.generateBugException(BugExceptionCategoryService.scala:20) at com.exalate.replication.services.replication.in.RequestProcessorService$$anonfun$processSyncRequest$3$$anonfun$1.applyOrElse(RequestProcessorService.scala:165) at com.exalate.replication.services.replication.in.RequestProcessorService$$anonfun$processSyncRequest$3$$anonfun$1.applyOrElse(RequestProcessorService.scala:158) at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) at scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:121) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.pollAndExecAll(ForkJoinPool.java:1253) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1346) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) Caused by: java.util.concurrent.ExecutionException: Boxed Error at scala.concurrent.impl.Promise$.resolver(Promise.scala:55) at scala.concurrent.impl.Promise$.scala$concurrent$impl$Promise$$resolveTry(Promise.scala:47) at scala.concurrent.impl.Promise$KeptPromise.(Promise.scala:324) at scala.concurrent.Promise$.fromTry(Promise.scala:142) at scala.concurrent.Future$.fromTry(Future.scala:483) at com.exalate.replication.services.processor.ChangeIssueProcessor$$anonfun$changeIssue$1$$anonfun$apply$1.apply(ChangeIssueProcessor.scala:60) at com.exalate.replication.services.processor.ChangeIssueProcessor$$anonfun$changeIssue$1$$anonfun$apply$1.apply(ChangeIssueProcessor.scala:47) at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:253) at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251) … 7 more Caused by: scala.NotImplementedError: an implementation is missing at scala.Predef$.$qmark$qmark$qmark(Predef.scala:230) at services.node.hubobjects.NodeHelper.getOption(NodeHelper.scala:102) at com.exalate.api.hubobject.jira.INodeHelper$getOption.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124) at Script60.run(Script60.groovy:10) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:345) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:145) at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264) at com.exalate.processor.ExalateProcessor.execute(ExalateProcessor.java:69) at com.exalate.processor.ExalateProcessor.executeProcessor(ExalateProcessor.java:40) at com.exalate.processor.ExalateProcessor.executeProcessor(ExalateProcessor.java:33) at com.exalate.replication.services.processor.ChangeIssueProcessor$$anonfun$changeIssue$1$$anonfun$apply$1$$anonfun$4.apply(ChangeIssueProcessor.scala:68) at scala.util.Try$.apply(Try.scala:192) at com.exalate.replication.services.processor.ChangeIssueProcessor$$anonfun$changeIssue$1$$anonfun$apply$1.apply(ChangeIssueProcessor.scala:61) … 10 more
Currently you can see that the Jira Ticket Status is not being set from Exalate. We used the Jira Plug-in Before and it created variables it looks like that zendesk used.
I don’t know what you mean by “data variable”, is this a custom field? and I understand that you don’t want to set the zendesk status, what I suggested earlier doesn’t set the Zendesk status, it just gets the status from Jira and sets it into a custom field in Zendesk.
What type of custom field is this on Zendesk? You are trying to set a value of type “option” which might be the problem, if you want to set only the status name to a custom field of type String, it would look like: