I am attempting to use the REST API to claim and complete user tasks. Making the REST call:
http://localhost:8080/business-central/rest/task/<taskid>/claim
yields success, but following this up with a call:
http://localhost:8080/business-central/rest/task/<taskid>/complete
does not work. I see a return status of 500, and the following output on the console:
11:34:09,022 WARN [org.jbpm.services.task.persistence.TaskTransactionInterceptor] (http-127.0.0.1/127.0.0.1:8080-8) Could not commit session: org.jbpm.services.task.exception.PermissionDeniedException: User '[UserImpl:'DMTEremuser1']' was unable to execute operation 'Complete' on task id 6 due to a no 'current status' match
The error occurs whether or not I attempt to supply task form data via "map_" parameters to the "complete" call. The only clue I have is that if I log into business-central via web and check the tasks list, the available actions for a claimed task (claimed through the browser) are "Release" or "Complete". However, for a task claimed through the REST API call and checked the same way, the only available option for that task in the browser's task list is "Release" -- there is no "Complete" option.
Can someone explain what I am doing wrong or suggest a line of investigation?
Problem solved. You have to perform a task start command in between a claim and a complete.