0

RESTful 経由で Redmine (V 2.3.4) で課題を作成しようとしています。ドキュメントを読み、うまくいかなかった例を試しました (HTTP-Code: 404)。

POST http://easyredmine.digitronic.com/issues.xml
<?xml version="1.0"?>
<issue>
    <project_id>1</project_id>
    <subject>Example</subject>
    <priority_id>4</priority_id>
</issue>

次に、これを試してみましたが、うまくいきました:

POST http://easyredmine.digitronic.com/projects/isda/issues.xml
<?xml version="1.0"?>
<issue>
    <project_id>1</project_id>
    <subject>Example</subject>
    <priority_id>4</priority_id>
</issue>

最初の形式でリクエストを送信する taskadapter Redmine API を使用しています。

4

3 に答える 3

0

最初のケースでは、課題を追加する必要があるプロジェクト (ID = 1) が存在しないため、404 Not Found が返されます。2 番目のケースでは、URL でプロジェクト ID を既に指定しているため、要素 project_id の値は無視されます。

于 2014-03-30T07:54:31.700 に答える
0

ruby で redmine rest api を使用しており、create メソッドが機能します。xml の代わりに json を使用します。Web サービスは次のようになります。

id=-1
url = Configuration.redmine+"/issues.json"
uri = URI.parse(url)
req = Net::HTTP::Post.new(uri.request_uri)
req.basic_auth(user, pass)
req["Content-Type"] = "application/json"

payload = {
    issue: {
        project_id:project_id,
        tracker_id:tracker_id,
        status_id:status_id,
        priority_id:priority_id,
        subject:subject,
        description:description,
        fixed_version_id:fixed_version_id,
        author_id:author_id,
    }
}
req.body = payload.to_json

http = Net::HTTP.new(uri.host, uri.port)

response = http.request(req)
if response.code=="201"
  data = JSON.parse(response.body)
  id=data["issue"]["id"]
end

 return id
end

これはルビコードです。

于 2019-06-27T16:45:58.557 に答える
0

content-type ヘッダーを指定する必要があります。指定しないと、404 が返されます

于 2017-11-08T23:09:53.543 に答える