Java言語でRedmineのチケット更新処理を作成しています。
以下のようにコーディングしており、①の処理を記述しなければ更新自体は行われます。(更新日時が更新される)
しかし、更新したいカスタムフィールドが更新されません。
デバッグしたところ、カスタムフィールドの値がtmpissueに入っていないからだとわかり、①を追加しました。(前処理にてカスタムフィールドの値はセットしています)
しかし、①を記述すると下記エラー内容が発生してしまいます。
なにかいい実現方法をおしえてください。
【ソース】
//更新フラグ=trueの場合
// 更新処理
int ticketid = Integer.parseInt(bean.getTikectID());
// IDを指定して更新
Issue tmpissue = issueMgr.getIssueById(ticketid);
①tmpissue.addCustomFields(customs);
issueMgr.update(tmpissue);
System.out.println("チケットを更新しました。案件番号:" + tmpissue.getSubject());
【エラー】
com.taskadapter.redmineapi.RedmineInternalError: Unexpected JSONException
at com.taskadapter.redmineapi.internal.RedmineJSONBuilder.toSimpleJSON(RedmineJSONBuilder.java:142)
at com.taskadapter.redmineapi.internal.Transport.updateObject(Transport.java:276)
at com.taskadapter.redmineapi.IssueManager.update(IssueManager.java:256)
at csvImport.TicketClient.putIssue(TicketClient.java:162)
at csvImport.csvImport.main(csvImport.java:248)
Caused by: org.json.JSONException: Duplicate key "19"
at org.json.JSONObject.putOnce(JSONObject.java:1313)
at org.json.JSONWriter.key(JSONWriter.java:208)
at com.taskadapter.redmineapi.internal.RedmineJSONBuilder.writeCustomFields(RedmineJSONBuilder.java:302)
at com.taskadapter.redmineapi.internal.RedmineJSONBuilder.writeIssue(RedmineJSONBuilder.java:241)
at com.taskadapter.redmineapi.internal.Transport$$Lambda$3/2143437117.write(Unknown Source)
at com.taskadapter.redmineapi.internal.RedmineJSONBuilder.toSimpleJSON(RedmineJSONBuilder.java:138)
... 4 more

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。