質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
REST

REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。

Redmine

Redmineは、プロジェクトのタスク管理、進捗管理、情報共有が可能な、 オープンソースプロジェクト管理ソフトウェアです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

1回答

8496閲覧

Redmine REST APIを使用してチケットの新規登録する際に、題名が入力されていませんのエラー発生

javabigineer

総合スコア87

REST

REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。

Redmine

Redmineは、プロジェクトのタスク管理、進捗管理、情報共有が可能な、 オープンソースプロジェクト管理ソフトウェアです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2016/03/18 06:19

編集2022/01/12 10:55

RedmineのJavaのREST APIのtaskadapterを使用してチケットの登録プログラムを作成しました。
以下の処理を実行時に下記エラーが出力されてしまいました。(題名→案件番号に命名変更しています。)
issueToCreateに登録するIssue情報を格納して作成するというロジックになっており、issueToCreateのsubject(案件番号)には値はちゃんと入っているのに下記のようなエラーがでてしまうのですが、原因わかる方いらっしゃいますか?
Javaのバージョンとかも関係あるのかな。。。(ちなみにJDK1.8使用)

// チケットの新規登録
Issue newIssue = issueMgr.createIssue(issueToCreate);

com.taskadapter.redmineapi.RedmineProcessingException: 案件番号 を入力してください。

at com.taskadapter.redmineapi.internal.comm.redmine.RedmineErrorHandler.processContent(RedmineErrorHandler.java:58) at com.taskadapter.redmineapi.internal.comm.redmine.RedmineErrorHandler.processContent(RedmineErrorHandler.java:21) at com.taskadapter.redmineapi.internal.comm.ComposingHandler.processContent(ComposingHandler.java:25) at com.taskadapter.redmineapi.internal.comm.ComposingHandler.processContent(ComposingHandler.java:25) at com.taskadapter.redmineapi.internal.comm.BaseCommunicator.sendRequest(BaseCommunicator.java:47) at com.taskadapter.redmineapi.internal.comm.redmine.RedmineAuthenticator.sendRequest(RedmineAuthenticator.java:52) at com.taskadapter.redmineapi.internal.comm.FmapCommunicator.sendRequest(FmapCommunicator.java:26) at com.taskadapter.redmineapi.internal.comm.FmapCommunicator.sendRequest(FmapCommunicator.java:26) at com.taskadapter.redmineapi.internal.comm.BasicSimplifier.sendRequest(BasicSimplifier.java:24) at com.taskadapter.redmineapi.internal.Transport.send(Transport.java:582) at com.taskadapter.redmineapi.internal.Transport.addObject(Transport.java:227) at com.taskadapter.redmineapi.IssueManager.createIssue(IssueManager.java:173) at csvImport.TicketClient.putIssue(TicketClient.java:200) at csvImport.csvImport.main(csvImport.java:237)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

https://teratail.com/questions/29183のサンプルを書いた者です。
エラーから判断すると、課題に対し題名文字列が設定されていないのではないようです。

以下のいずれかのように設定しているかどうか確認してみてはいかがでしょうか?

java

1 Issue issue = IssueFactory.create(project.getId(), "題名文字");

or

java

1 Issue issue = IssueFactory.create(project.getId()); 2 issue.setSubject("題名文字");

投稿2016/03/18 06:47

umed0025

総合スコア851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

javabigineer

2016/03/18 06:53

題名文字列は設定されています。 登録前にSystem.out.println()で表示させて確認済 Issueオブジェクトを作成する際に、new Issue()で作っているのですが、IssueFactory.createで作った方が良いんですかね?
tkturbo

2016/03/18 07:07

そのためのFactoryクラスでしょう。
umed0025

2016/03/18 07:24

「com.taskadapter.redmineapi.IssueManager.getIssues(java.util.Map<java.lang.String,java.lang.String>)」 のJavaDocにかかれている通り、IssueFactoryを使ってください。 Sample usage: Issue issueToCreate = IssueFactory.create(projectDatabaseId, subject); Issue newIssue = mgr.createIssue(issueToCreate);
javabigineer

2016/03/18 07:49

IssueFactoryを使用しましたが、結果は変わりありません。。
umed0025

2016/03/18 08:06

問題が解決しなかったようではずしてたみたいですねすみません。 Redmineのログが確認できるようであれば、「log/production.log」の中の 「Processing by IssuesController#create as JSON」列の後ろにある 「Parameters: {"issue"=>{"subject"=>"xxxx", 」のsubjectに値が入っていますか? また、題名を案件番号に変えているとおっしゃっていますが、 「ja.yaml」の「 field_subject: 題名」を変更した形ですか? subjectではない違う必須フィールドでエラーがでている可能性はないでしょうか?
javabigineer

2016/03/22 04:43

「Parameters: {"issue"=>{"subject"=>"xxxx", 」のsubjectには値が入っています。 「ja.yml」の「field_subject:題名 →案件番号」に変更した形です。
umed0025

2016/03/23 01:49

必須項目に対し、値が入っているにもかかわらずエラーとなるということですか。 後は、ログレベルを詳細にして実際どうしてエラーになっているか?確認する位しか思い浮かばないです。 こちらの環境では再現できていません。 ログレベルを設定する方法は「Redmine 3.2.0」の場合「config/environments/production.rb」に「config.log_level = :debug」を追記。 Redmineサーバーを再起動でログ出力レベルがDEBUG(詳細)になります。デフォルト設定は「info」です。 ただ運用されている環境でこの操作を行うと、あっというまにログが大きくなるので注意が必要です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問