Обновление записи времени: http://www.redmine.org/projects/redmine/wiki/Rest_TimeEntries#Updating-a-time-entry всегда приводит к 404
Я использую Redmine 3.4.6.stable и использовал: PUT /time_entries/[id].xml
Другие действия, такие как: Создание записи времени работает.
Кроме того, Delete не работает, и я попробовал его с JSON вместо XML, но с тем же ответом.
Затем я удалил расширение следующим образом: / time_entries / [id] и получил 422, но ответ дает мне полную HTML-страницу с:
Недопустимый токен подлинности формы.
Я неразработчик Ruby / Rails, но в rout.rb я вижу:
match '/time_entries/:id', :to => 'timelog#destroy', :via => :delete, :id => /\d+/
Это единственная запись для: / time_entries /: id
, так что это означает, что документация по адресу:http://www.redmine.org/projects/redmine/wiki/Rest_TimeEntries#Updating-a-time-entry устарел, и нет конечной точки для обновления записи времени.Это правильно?
Я также подал заявку в Redmine: http://www.redmine.org/issues/31288, но я думаю, что я получу здесь гораздо быстрее ответ / помощь.
Это код GroovyЯ использую для обновления проблемы:
def baseUrl = new URL("${Config.host}/time_entries/${timeEntry.key}.xml?key=${Config.redmineKey}")
new HTTPBuilder(baseUrl).request(Method.PUT, ContentType.XML) {
body = "<time_entry><id>9956</id><project_id>25</project_id><issue_id>${timeEntry.key}</issue_id><spent_on>${spentOnDate}</spent_on><hours>${new Date(timeEntry.value.toInteger()).format("HH:mm")}</hours><activity_id>9</activity_id><comments></comments></time_entry>"
response.success = { resp, xml ->
println "Success! ${resp.status}"
}
response.failure = { resp ->
println "Request failed with status ${resp.status}"
def outputStream = new ByteArrayOutputStream()
resp.entity.writeTo(outputStream)
def errorMsg = outputStream.toString('utf8')
println errorMsg
}
}