nulab / backlogmigration-redmine Goto Github PK
View Code? Open in Web Editor NEWMigrate your projects from Redmine to Backlog.
License: MIT License
Migrate your projects from Redmine to Backlog.
License: MIT License
initを実施し、redmineの情報をexportするところまではうまくいくのですが、
BackLogでimportするところでエラーとなってしまいます。
どこを直せば良いか教えて欲しいです。。
===以下エラーログ===
021/05/13 16:58:04.657 14211 [scala-execution-context-global-24] ERROR com.nulabinc.backlog.r2b.R2B$ - yoshida_test-53957 (of class java.lang.String)
scala.MatchError: yoshida_test-53957 (of class java.lang.String)
at com.nulabinc.backlog.migration.common.domain.BacklogIssue$.getIssueIndex(Backlog.scala:160)
at com.nulabinc.backlog.migration.common.domain.BacklogIssue.findIssueIndex(Backlog.scala:149)
at com.nulabinc.backlog.migration.importer.service.IssuesImporter.createTemporaryIssues(IssuesImporter.scala:161)
at com.nulabinc.backlog.migration.importer.service.IssuesImporter.loadJson(IssuesImporter.scala:86)
at com.nulabinc.backlog.migration.importer.service.IssuesImporter.$anonfun$loadDateDirectory$3(IssuesImporter.scala:75)
at com.nulabinc.backlog.migration.importer.service.IssuesImporter.$anonfun$loadDateDirectory$3$adapted(IssuesImporter.scala:73)
at scala.collection.immutable.List.foreach(List.scala:333)
at com.nulabinc.backlog.migration.importer.service.IssuesImporter.loadDateDirectory(IssuesImporter.scala:73)
at com.nulabinc.backlog.migration.importer.service.IssuesImporter.$anonfun$execute$3(IssuesImporter.scala:57)
at com.nulabinc.backlog.migration.importer.service.IssuesImporter.$anonfun$execute$3$adapted(IssuesImporter.scala:56)
at scala.collection.immutable.List.foreach(List.scala:333)
at com.nulabinc.backlog.migration.importer.service.IssuesImporter.$anonfun$execute$1(IssuesImporter.scala:56)
at com.nulabinc.backlog.migration.importer.service.IssuesImporter.$anonfun$execute$1$adapted(IssuesImporter.scala:48)
at monix.eval.Task$Map.apply(Task.scala:4604)
at monix.eval.Task$Map.apply(Task.scala:4600)
at monix.eval.internal.TaskRunLoop$.startFull(TaskRunLoop.scala:170)
at monix.eval.internal.TaskRestartCallback.syncOnSuccess(TaskRestartCallback.scala:101)
at monix.eval.internal.TaskRestartCallback$$anon$1.run(TaskRestartCallback.scala:118)
at monix.execution.internal.Trampoline.monix$execution$internal$Trampoline$$immediateLoop(Trampoline.scala:66)
at monix.execution.internal.Trampoline.startLoop(Trampoline.scala:32)
at monix.execution.schedulers.TrampolineExecutionContext$JVMNormalTrampoline.super$startLoop(TrampolineExecutionContext.scala:142)
at monix.execution.schedulers.TrampolineExecutionContext$JVMNormalTrampoline.$anonfun$startLoop$1(TrampolineExecutionContext.scala:142)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:94)
at monix.execution.schedulers.TrampolineExecutionContext$JVMNormalTrampoline.startLoop(TrampolineExecutionContext.scala:142)
at monix.execution.internal.Trampoline.execute(Trampoline.scala:40)
at monix.execution.schedulers.TrampolineExecutionContext.execute(TrampolineExecutionContext.scala:57)
at monix.execution.schedulers.BatchingScheduler.execute(BatchingScheduler.scala:50)
at monix.execution.schedulers.BatchingScheduler.execute$(BatchingScheduler.scala:47)
at monix.execution.schedulers.AsyncScheduler.execute(AsyncScheduler.scala:31)
at monix.eval.internal.TaskRestartCallback.onSuccess(TaskRestartCallback.scala:72)
at monix.eval.internal.TaskRunLoop$.startFull(TaskRunLoop.scala:165)
at monix.eval.internal.TaskRestartCallback.syncOnSuccess(TaskRestartCallback.scala:101)
at monix.eval.internal.TaskRestartCallback.onSuccess(TaskRestartCallback.scala:74)
at monix.eval.internal.TaskExecuteOn$AsyncRegister$$anon$1.run(TaskExecuteOn.scala:71)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
2021/05/13 16:58:04.664 14218 [scala-execution-context-global-24] INFO c.n.b.m.c.i.JansiConsoleDSL - ERROR: yoshida_test-53957 (of class java.lang.String)
()
インポートに失敗する #4 とは別件です。
Redmineの既存プロジェクトからのエクスポート中にタイムアウトが発生し、コンバートできない症状です。
$ java -jar backlog-migration-redmine-0.9.0b26.jar execute \
--backlog.key wM8QwM8QwM8QwM8QwM8QwM8QwM8QwM8QwM8QwM8QwM8Q \
--backlog.url https://XXXXX.backlog.jp \
--redmine.key 06e606e606e606e606e606e606e606e606e606e6 \
--redmine.url http://intraserver.local/redmine \
--projects wi_fi_hosyu : WI_FI_HOSYU
Wi-Fi社内保守の課題をエクスポートしました。(144/586)
Wi-Fi社内保守の課題をエクスポートしました。(144/586)
java.util.concurrent.TimeoutException: Await termination timed out after [60 minutes]
at akka.actor.ActorSystemImpl$TerminationCallbacks.ready(ActorSystem.scala:818)
at akka.actor.ActorSystemImpl$TerminationCallbacks.ready(ActorSystem.scala:788)
at scala.concurrent.Await$$anonfun$ready$1.apply(package.scala:169)
at scala.concurrent.Await$$anonfun$ready$1.apply(package.scala:169)
at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53)
at scala.concurrent.Await$.ready(package.scala:169)
at akka.actor.ActorSystemImpl.awaitTermination(ActorSystem.scala:644)
at com.nulabinc.r2b.actor.redmine.RedmineActor$.apply(RedmineActor.scala:73)
at com.nulabinc.r2b.core.R2B$.execute(R2B.scala:93)
at com.nulabinc.r2b.core.R2B$.main(R2B.scala:57)
at com.nulabinc.r2b.core.R2B.main(R2B.scala)
これは現行のインポートツールの実装でタイムアウト時間が60分としてハードコーディングされていることが原因です。
などの対策をしていただければありがたいです。
また、以前試した0.9.0b21と比べて0.9.0b26は処理速度が非常に低下しているように見受けられます。こちらもご対応いただけるようでしたらありがたいです。
便利なツールの開発ありがとうございます!
インポート実行中に以下エラーが発生し、先に進めないので問合せさせてください。
チケット自体はBacklog側へ取り込めるのですが、チケット起票後のコメントや編集履歴が取り込めませんでした。
解決策があれば教えて下さい。
Could not register comment on issue [BacklogチケットID]. : List(java.lang.reflect.InaccessibleObjectException: Unable to make field private final sun.net.www.protocol.https.DelegateHttpsURLConnection sun.net.www.protocol.https.HttpsURLConnectionImpl.delegate accessible: module java.base does not "opens sun.net.www.protocol.https" to unnamed module @54307ae0, java.lang.reflect.InaccessibleObjectException: Unable to make field private final sun.net.www.protocol.https.DelegateHttpsURLConnection sun.net.www.protocol.https.HttpsURLConnectionImpl.delegate accessible: module java.base does not "opens sun.net.www.protocol.https" to unnamed module @54307ae0, java.lang.reflect.InaccessibleObjectException: Unable to make field private final sun.net.www.protocol.https.DelegateHttpsURLConnection sun.net.www.protocol.https.HttpsURLConnectionImpl.delegate accessible: module java.base does not "opens sun.net.www.protocol.https" to unnamed module @54307ae0)
Thanks for your permanent cooperation
if i can ask u question
How can I transfer fields from Oracle to MySQL?
In my work environment, I own two systems, the Oracle 12C system and the redmine system, and this requires users to enter information twice. I want to find a suitable solution to transfer information from the Oracle system to the Redmine system, and to take some fields and transfer them to the Redmine system through the similarity of the issue_id field
init に失敗してしまいます。
環境
で試したところ、以下のエラーメッセージが表示されました。
- Backlogのステータスを読み込みます。
- Redmineのステータスを読み込みます。
- Backlogの優先度を読み込みます。
- Redmineの優先度を読み込みます。
com.taskadapter.redmineapi.RedmineFormatException: org.json.JSONException: A JSO
NObject text must begin with '{' at character 1
at com.taskadapter.redmineapi.internal.Transport.getObjectsListNoPaging(
Transport.java:459)
at com.taskadapter.redmineapi.internal.Transport.getObjectsList(Transpor
t.java:421)
at com.taskadapter.redmineapi.internal.Transport.getObjectsList(Transpor
t.java:398)
at com.taskadapter.redmineapi.IssueManager.getIssuePriorities(IssueManag
er.java:252)
at com.nulabinc.r2b.service.RedmineService.getIssuePriorities(RedmineSer
vice.scala:160)
at com.nulabinc.r2b.cli.PriorityMapping.loadRedmine(PriorityMapping.scal
a:22)
at com.nulabinc.r2b.cli.PriorityMapping.<init>(PriorityMapping.scala:17)
at com.nulabinc.r2b.cli.CommonCommand$class.load(CommonCommand.scala:20)
at com.nulabinc.r2b.cli.InitCommand.load(InitCommand.scala:9)
at com.nulabinc.r2b.cli.InitCommand.<init>(InitCommand.scala:11)
at com.nulabinc.r2b.core.R2B$.execute(R2B.scala:114)
at com.nulabinc.r2b.core.R2B$.main(R2B.scala:59)
at com.nulabinc.r2b.core.R2B.main(R2B.scala)
Caused by: org.json.JSONException: A JSONObject text must begin with '{' at char
acter 1
at org.json.JSONTokener.syntaxError(JSONTokener.java:410)
at org.json.JSONObject.<init>(JSONObject.java:179)
at org.json.JSONObject.<init>(JSONObject.java:402)
at com.taskadapter.redmineapi.internal.RedmineJSONParser.getResponse(Red
mineJSONParser.java:710)
at com.taskadapter.redmineapi.internal.Transport.getObjectsListNoPaging(
Transport.java:454)
... 12 more
/**
* <p>This method does NOT handle paging for you. You need to provide "offset" and "limit" parameters
* if you want to control paging.
* <p>Sample usage:
<pre>
final Map<String, String> params = new HashMap<String, String>();
params.put("name", name);
final List<User> users = userManager.getUsers(params);
</pre>
*
* @param parameters http parameters: key/value pairs to append to the rest api request
* @return empty list if no objects found using provided parameters
* @throws RedmineAuthenticationException invalid or no API access key is used with the server, which
* requires authorization. Check the constructor arguments.
* @throws RedmineException
*/
public List<User> getUsers(Map<String, String> parameters) throws RedmineException {
return DirectObjectsSearcher.getObjectsListNoPaging(transport, parameters, User.class);
}
$ java -jar backlog-migration-redmine-0.9.0b21.jar execute \
--backlog.key wM8QwM8QwM8QwM8QwM8QwM8QwM8QwM8QwM8QwM8QwM8Q
--backlog.url https://XXXXX.backlog.jp \
--redmine.key 06e606e606e606e606e606e606e606e606e606e6
--redmine.url http://intraserver.local/redmine \
--projects wi_fi_hosyu wi_fi_hosyu: WI_FI_HOSYU
以上のコマンドを実行した際、Redmineからのエクスポートは成功するが、backlogへのインポートに失敗する。
エラーログは以下のとおり。
2016/03/29 13:30:30.255 400557 [backlog-importer-akka.actor.default-dispatcher-3] INFO c.n.b.i.actor.backlog.BacklogActor - Backlogのインポートを開始します。
2016/03/29 13:30:30.255 400557 [backlog-importer-akka.actor.default-dispatcher-3] INFO c.n.b.i.actor.backlog.BacklogActor - --------------------------------------------------
2016/03/29 13:30:31.148 401450 [backlog-importer-akka.actor.default-dispatcher-5] INFO c.n.b.i.actor.backlog.ProjectsActor - プロジェクトのインポートを実行します。(全3件)
2016/03/29 13:30:31.300 401602 [backlog-importer-akka.actor.default-dispatcher-3] INFO c.n.b.i.actor.backlog.ProjectActor - プロジェクトWi-Fi保守のインポートを実行します。
2016/03/29 13:30:31.354 401656 [backlog-importer-akka.actor.default-dispatcher-4] INFO c.n.b.i.actor.backlog.ProjectActor - プロジェクトWi-Fi保守のインポートを実行します。
2016/03/29 13:30:31.374 401676 [backlog-importer-akka.actor.default-dispatcher-2] INFO c.n.b.i.actor.backlog.ProjectActor - プロジェクトWi-Fi保守のインポートを実行します。
2016/03/29 13:30:31.869 402171 [backlog-importer-akka.actor.default-dispatcher-2] INFO c.n.b.i.s.BacklogProjectService - 以下の理由でプロジェクトWI_FI_HOSYUをインポートできません。:backlog api request failed.
status code - 400
message - : [ESSR0071]SQLで例外が発生しました。理由はcom.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '15165-WI_FI_HOSYU-0' for key 'UQ_SPACE_ID_PROJECT_KEY'
code - 7
2016/03/29 13:30:31.888 402190 [backlog-importer-akka.actor.default-dispatcher-4] INFO c.n.b.i.s.BacklogProjectService - 以下の理由でプロジェクトWI_FI_HOSYUをインポートできません。:backlog api request failed.
status code - 400
message - : [ESSR0071]SQLで例外が発生しました。理由はcom.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '15165-WI_FI_HOSYU-0' for key 'UQ_SPACE_ID_PROJECT_KEY'
code - 7
2016/03/29 13:30:34.653 404955 [backlog-importer-akka.actor.default-dispatcher-3] INFO c.n.b.i.actor.backlog.ProjectActor - プロジェクトWi-Fi保守のカテゴリーをインポートしました。
この不具合はRedmine中のプロジェクトにかかわらず発生します。
なお、Redmine側とbacklog側でアカウントが一致しないため、redmine側の複数のアカウントをbacklog側の1つのアカウントにマッピングする、いわゆる名寄せ設定をしています。
現象
移行ツールでRedmineからBacklogへ移行した課題の担当者が設定されない。
単純なプロジェクトも同様の現象で発生しています。
発生バージョン
0.15.0b1
※0.14.0b4では発生してません
移行ツール実行環境
OS: Windows 10 Enterprise(1903)
java version "14.0.2" 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
Redmine環境
Environment:
Redmine version 3.4.5.stable
Ruby version 2.5.1-p57 (2018-03-29) [x86_64-linux]
Rails version 4.2.8
Environment production
Database adapter PostgreSQL
SCM:
Subversion 1.7.14
Git 2.16.2
Filesystem
Redmine plugins:
easy_gantt 1.11
redmine_agile 1.4.6
redmine_github_hook 2.2.0
redmine_messenger 1.0.2
view_customize 1.1.4
例えばredmineでは「終了」になっている課題を、mappingファイルを終了→完了
と正しく設定した後にインポートをしても、backlog上では未対応の課題として登録されてしまう。
mappingファイルが機能していないように思われる
バックログの課題、redmineにインポートする事が出来ますか?
実際にコンパイルしようとしましたが、ライブラリの依存関係がうまくいかずビルドできません。
com.nulabinc:backlog-importer_2.11:0.0.1
というライブラリがネット上には存在しませんでした。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.