如何使用redmine中的REST更新文件类型的自定义字段?

时间:2017-09-06 10:15:55

标签: rest redmine redmine-api

我尝试使用rest API更新文件类型的自定义字段。 使用以下方法正确上传文件后

curl --data-binary "@test.pdf" -H "Content-Type: application/octet-stream" -X POST -H "X-Redmine-API-Key: e1d815b8963e7b3950d4bea47959f874be755a2c" https://redmine-dev/uploads.xml

我得到了我的令牌:

<?xml version="1.0" encoding="UTF-8"?>
<upload>
  <id>15</id>
  <token>15.cb4...</token>
</upload>

然后我尝试使用那些更新自定义文件而没有工作:

<?xml version="1.0"?>
<issue>
  <custom_fields type="array">
    <custom_field id="4">
      <token>15.cb4...</token>
      <filename>test.pdf</filename>
    </custom_field>
  </custom_fields>
</issue>

<?xml version="1.0"?>
<issue>
  <custom_fields type="array">
    <custom_field id="4">
      <value>
        <token>15.cb4...</token>
        <filename>test.pdf</filename>
      </value>
    </custom_field>
  </custom_fields>
</issue>

<?xml version="1.0"?>
<issue>
  <custom_fields type="array">
    <custom_field id="4">
      <value>15</value>
    </custom_field>
  </custom_fields>
</issue>

在数据库中清除每个字段后。

更新不同的自定义字段(基于文本和数字)以及每个字段都在工作。我还检查了文档,没有详细说明如何使用REST更新自定义附件。

1 个答案:

答案 0 :(得分:0)

查看代码后很容易,但令牌必须属于以前未使用过的附件。

<?xml version="1.0"?>
 <issue>
   <custom_fields type="array">
     <custom_field id="4">
       <value>
         <token>15.cb4...</token>
       </value>
     </custom_field>
   </custom_fields>
 </issue>