4 answers
- 10-1
Serhiy,
I commented out Watchers and it started working (so it seems) . Thx man .
Tell me please , are there any other "tricky" fields to have in mind here ? I just want 1:1 copy in one direction .
- Serhiy Onyshchenko
Any field that requires other things but the issue itself to be there (like sprints, user fields, and such) can be tricky.
Just make a list of all the content you want to get synced, and see what do you find in docs.
If there's anything missing - feel free to post on community.
CommentAdd your comment... - 10-1
With your line , new error emerged :
Error Detail Message:
Unexpected error occurred. Generate an exalate support.zip file and contact support.Error Stack Trace
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:43) at com.exalate.replication.services.replication.in.RequestProcessorService$$anonfun$1.applyOrElse(RequestProcessorService.scala:189) at com.exalate.replication.services.replication.in.RequestProcessorService$$anonfun$1.applyOrElse(RequestProcessorService.scala:182) at scala.concurrent.Future.$anonfun$recoverWith$1(Future.scala:417) at scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:41) at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64) at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:56) at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:93) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:85) at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:93) at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:48) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:48) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) Caused by: java.lang.NullPointerException at services.jcloud.IssueService.$anonfun$applyWatchers$6(IssueService.scala:548) at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:285) at scala.collection.Iterator.foreach(Iterator.scala:943) at scala.collection.Iterator.foreach$(Iterator.scala:943) at scala.collection.AbstractIterator.foreach(Iterator.scala:1431) at scala.collection.IterableLike.foreach(IterableLike.scala:74) at scala.collection.IterableLike.foreach$(IterableLike.scala:73) at scala.collection.AbstractIterable.foreach(Iterable.scala:56) at scala.collection.TraversableLike.map(TraversableLike.scala:285) at scala.collection.TraversableLike.map$(TraversableLike.scala:278) at scala.collection.mutable.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:50) at scala.collection.SetLike.map(SetLike.scala:105) at scala.collection.SetLike.map$(SetLike.scala:105) at scala.collection.mutable.AbstractSet.map(Set.scala:50) at services.jcloud.IssueService.applyWatchers(IssueService.scala:548) at services.jcloud.IssueService.$anonfun$applyChanges$9(IssueService.scala:506) at scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:307) ... 14 more
- Serhiy Onyshchenko
This one seems to be caused by watchers sync
Are you doing something likeissue.watchers = replica.watchers
?
tryif (replica.watchers && !replica.watchers.empty) { issue.watchers = replica.watchers .collect { nodeHelper.getUserByEmail(it.email) } .findAll() }
Let me know
CommentAdd your comment... - 10-1
Hi ,
I had one
issue.customFields."Epic Name"=replica.customFields."Epic Name"
It didn't work.
So I followed your articles and replaced with:
// should be at the end of the incoming sync script Epic.receive()
- Serhiy Onyshchenko
Were you also exposing the "Epic Name" (by doing
replica.customFields."Epic Name" = issue.customFields."Epic Name"
from Outgoing script of sending side) / usedEpic.send()
from the sending side when the sync started? - Serhiy Onyshchenko
In this case you can also make sure that Exalate doesn't trip over transactions created before you started doing
Epic.send()
on sending side by doing
the following thing on the receiving Incoming processor beginning:if (replica.type?.name == "Epic" && !replica."Epic Name") { return }
CommentAdd your comment... - 10-1
Hey, Dusan Vuckovic, it seems that you need to add a rule into your incoming sync script which would set the "Epic Name" custom fields for Epics.
Try adding this to the end of your incoming sync script:// ... if("Epic".equalsIgnoreCase(issue.type?.name ?: issue.typeName)) { issue."Epic Name" = replica."Epic Name" ?: replica.summary }
Let me know, if this helps.
Regards, Serhiy.- Serhiy Onyshchenko
BTW
issue."Epic Name" = ...
is doing the same as
issue.customFields."Epic Name".value = ...
CommentAdd your comment...
Hi ,
I have a project in on premise JIRA that I copied over to the Cloud. Now I just want to keep them in unidirectional sync (from on-premise to the Cloud) . Its a 1:1 relation in every sense. But I keep getting this error which is blocking the sync:
Error Detail Message:
Error Stack Trace
Any subtle way maybe to sync the same projects in one direction without becoming Groovy master?
Thank you
Yeah, becoming a groovy master is definitely something you can put to your CV after using Exalate long enough 😂
They called it Groovy cause you need to be on LSD while programming (and playing this in the background)
Woah, I see your video and raise you a cat one:
Fold
🤣🤣🤣