API REST Crucible: не может добавить рецензента
Я пытаюсь использовать Crucible REST API, чтобы добавить рецензентов к только что созданному обзору (также использующему REST). Согласно документам Atlassian, я должен POST:
/rest-service/reviews-v1/{id}/reviewers
с чем? Документы не показывают действительный запрос на добавление рецензентов. Когда вы нажимаете "развернуть", он ничего не показывает, он просто говорит "Рецензенты, разделенные запятыми", что, похоже, не работает.
Я пробовал:
user1,user2
{"user1","user2"}
{reviewers:[reviewer:{"userName":"user1"},reviewer:{"userName":"user2"}]}
Все это приводит к следующему ответу:
{"code":"NotFound","message":"The user named '{\"user1\"' is not a Crucible user.","stacktrace":"com.atlassian.crucible.spi.services.NotFoundException: The user named '{\"user1\"' is not a Crucible user.
at com.atlassian.crucible.spi.impl.DefaultReviewService.getUser(DefaultReviewService.java:2011)
at com.atlassian.crucible.spi.impl.DefaultReviewService.access$3500(DefaultReviewService.java:95)
at com.atlassian.crucible.spi.impl.DefaultReviewService$32.doInTransaction(DefaultReviewService.java:1973)
at com.atlassian.crucible.spi.impl.DefaultReviewService$32.doInTransaction(DefaultReviewService.java:1965)
at com.atlassian.fisheye.spi.impl.DefaultTxTemplate.execute(DefaultTxTemplate.java:123)
at sun.reflect.GeneratedMethodAccessor1317.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
...
Эта трассировка стека продолжается и продолжается...
user1
а также user2
являются действительными именами, потому что я могу видеть их в других обзорах, когда я получаю GET по тому же URL.
У кого-нибудь есть идеи?
Спасибо!
1 ответ
Хорошо, для чего это стоит, вот как добавить рецензентов в существующий обзор:
сделать ссылку POST to Crucible: протокол:// сервер: порт / контекст /rest-service/reviews-v1/{id}/reviewers
тело сообщения должно содержать буквальное значение: user1,user2,user3
Не поддавайтесь желанию JSON-ify данных - без кавычек, без скобок, меток и т. Д. Это буквально разделенный запятыми список имен пользователей, которые нужно добавить.
Не ожидайте ответа от сервера, он, похоже, возвращает код состояния 204. Хотя это приемлемо в качестве спокойного ответа, это просто кажется странным, поскольку многие другие URL-адреса для этого API возвращают что-то, когда вы выполняете POST, чтобы подтвердить, что работа была завершена.
Справедливости ради Atlassian в документах прописаны данные для отправки:
"список разделенных запятыми рецензентов"
Но документы, вероятно, должны быть обновлены с примером, так как я думаю, что было бы нормально для кого-то (по крайней мере для меня) предположить, что при использовании RESTful API, они должны отформатировать данные как JSON. Кроме того, документы должны более осторожно указывать, что сервер не отправляет ответ в случае успеха. То есть ИМХО.
Надеюсь, что это помогает кому-то!