REST APIで新規チケットを追加する時、カスタムフィールドを追加するとエラーが出る

615 views
Skip to first unread message

asyu

unread,
Feb 22, 2021, 12:54:23 AM2/22/21
to Redmine Users (japanese)
はじめまして。
redmine初心者で、わからないことがあるので教えていただきたいです。
REST APIを用いて、HTTPリクエストでxmlファイルをPOSTして新規チケットを追加したいです。
標準フィールドのみだとうまくPOSTできるのですが、カスタムフィールドを追加するとエラーが出ます。

<issue>
( 標準フィールド)
 <custom_fields type="array">
  <custom_field id="*">
    <value>XXX</value>
  </custom_field>
 </custom_fields>
</issue>

上記のように標準フィールドの後にカスタムフィールドを記入しています。
xmlの書き方を間違えているのでしょうか?


吉澤拓成

unread,
Feb 22, 2021, 8:10:41 PM2/22/21
to Redmine Users (japanese)
カスタムフィールドの IDは 実際に値をセットしたいカスタムフィールドのIDを * のところに記述しているのですよね?

2021年2月22日月曜日 14:54:23 UTC+9 asyu:

asyu

unread,
Feb 22, 2021, 8:44:09 PM2/22/21
to Redmine Users (japanese)
返信ありがとうございます!

はい。今回値をセットしたいIDを記述しています。一度ブラウザを経由してテストチケットを作成し、
そのチケットのURLにissues.xmlを付けてアクセスし、今回値をセットしたいカスタムフィールドのIDを確認しました。

2021年2月23日火曜日 10:10:41 UTC+9 tak...@gmail.com:

吉澤拓成

unread,
Feb 23, 2021, 11:06:32 AM2/23/21
to Redmine Users (japanese)
そうなんですね、
FireFoxの RESTer で試してみましたが、下記のコードで登録できました。
カスタムフィールドのIDは 実際のIDと対応していなくてもエラーにはなりませんでした。
ただ無視されて、カスタムフィールドが空になるだけでした。
環境は:
Environment: Redmine version 3.4.6.stable 
Ruby version 2.3.7-p456 (2018-03-28) [x86_64-linux] 
Rails version 4.2.8 
Environment production 
Database adapter Mysql2

登録できたコード
<?xml version="1.0" ?>
<issue>
    <tracker_id>1</tracker_id>
    <project_id>5</project_id>
    <subject>"カスタムフィールドをRESTで登録"</subject>
    <description>"うまく登録できるかな"</description>
    <custom_fields type="array">
        <custom_field id="1"><value>Testing</value></custom_field>
        <custom_field id="2"><value>カスタムフィールドも投入</value></custom_field>
    </custom_fields>
</issue>

2021年2月23日火曜日 10:44:09 UTC+9 asyu:
Reply all
Reply to author
Forward
0 new messages