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 ответ

Хорошо, для чего это стоит, вот как добавить рецензентов в существующий обзор:

  1. сделать ссылку POST to Crucible: протокол:// сервер: порт / контекст /rest-service/reviews-v1/{id}/reviewers

  2. тело сообщения должно содержать буквальное значение: user1,user2,user3

  3. Не поддавайтесь желанию JSON-ify данных - без кавычек, без скобок, меток и т. Д. Это буквально разделенный запятыми список имен пользователей, которые нужно добавить.

  4. Не ожидайте ответа от сервера, он, похоже, возвращает код состояния 204. Хотя это приемлемо в качестве спокойного ответа, это просто кажется странным, поскольку многие другие URL-адреса для этого API возвращают что-то, когда вы выполняете POST, чтобы подтвердить, что работа была завершена.

Справедливости ради Atlassian в документах прописаны данные для отправки:

"список разделенных запятыми рецензентов"

Но документы, вероятно, должны быть обновлены с примером, так как я думаю, что было бы нормально для кого-то (по крайней мере для меня) предположить, что при использовании RESTful API, они должны отформатировать данные как JSON. Кроме того, документы должны более осторожно указывать, что сервер не отправляет ответ в случае успеха. То есть ИМХО.

Надеюсь, что это помогает кому-то!

Другие вопросы по тегам