How to add reviewer to review via REST API?
Asked by c cc:

Hi.

How can I add a reviewer to a review using the REST API?

I already know this page <http://docs.atlassian.com/fisheye-crucible/latest/wadl/crucible.html#N20682>

but there is no help for my problem.

Need help.

Kind regards,

Christian


Answers:
author: Nick
body: You need to post the usernames to the URL mentioned in the link you gave above: <http://docs.atlassian.com/fisheye-crucible/latest/wadl/crucible.html#N20682>

### /rest-service/reviews-v1/{id}/reviewers {#toc-hId-1482274635}

The list of reviewers should be a comma-separated list of usernames: user1,user2,user3 etc.

comments: author: c cc
body: comma-separated list - Thanks, that helps! :-)


author: JonJ
body: Can someone post an example of the post to the REST API? I've tried:

user1,user2

{"user1","user2"}

{reviewers:\[reviewer:{"userName":"user1"},reviewer:{"userName":"user2"}\]}

The docs just a "Comma separated reviewers" and I can't figure out what the right format is.

All of these result in the following response:

{"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)\\r\\n\\tat

at com.atlassian.crucible.spi.impl.DefaultReviewService$32.doInTransaction(DefaultReviewService.java:1965)\\r\\n\\tat 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)

...

In my case, user1 is a valid user because when I do a GET to the URL, I can see this user name in the response.

Thanks!

Jon


author: JonJ
body: So if I want to do this via REST, I should POST to:

/rest-service/reviews-v1/{id}/reviewers

with what? The docs don't show a valid request for adding reviewers. When you click on expand it doesn't show anything, it just says "Comma separated reviewers" which doesn't seem to work.

I've tried:

user1,user2

{"user1","user2"}

{reviewers:\[reviewer:{"userName":"user1"},reviewer:{"userName":"user2"}\]}

All of these result in the following response:

{"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.\\r\\n\\tat com.atlassian.crucible.spi.impl.DefaultReviewService.getUser(DefaultReviewService.java:2011)\\r\\n\\tat com.atlassian.crucible.spi.impl.DefaultReviewService.access$3500(DefaultReviewService.java:95)\\r\\n\\tat com.atlassian.crucible.spi.impl.DefaultReviewService$32.doInTransaction(DefaultReviewService.java:1973)\\r\\n\\tat com.atlassian.crucible.spi.impl.DefaultReviewService$32.doInTransaction(DefaultReviewService.java:1965)\\r\\n\\tat com.atlassian.fisheye.spi.impl.DefaultTxTemplate.execute(DefaultTxTemplate.java:123)\\r\\n\\tat sun.reflect.GeneratedMethodAccessor1317.invoke(Unknown Source)\\r\\n\\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\\r\\n\\tat java.lang.reflect.Method.invoke(Method.java:597)\\r\\n\\tat org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)\\r\\n\\tat org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)\\r\\n\\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)\\r\\n\\tat org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)\\r\\n\\tat com.cenqua.crucible.hibernate.WithSessionAspect.doCloseSession(WithSessionAspect.java:37)\\r\\n\\tat sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)\\r\\n\\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\\r\\n\\tat java.lang.reflect.Method.invoke(Method.java:597)\\r\\n\\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)\\r\\n\\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)\\r\\n\\tat org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)\\r\\n\\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)\\r\\n\\tat org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)\\r\\n\\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)\\r\\n\\tat org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)\\r\\n\\tat $Proxy19.execute(Unknown Source)\\r\\n\\tat com.atlassian.crucible.spi.impl.DefaultReviewService.addReviewers(DefaultReviewService.java:1965)\\r\\n\\tat sun.reflect.GeneratedMethodAccessor2530.invoke(Unknown Source)\\r\\n\\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\\r\\n\\tat java.lang.reflect.Method.invoke(Method.java:597)\\r\\n\\tat org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)\\r\\n\\tat org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)\\r\\n\\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)\\r\\n\\tat org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)\\r\\n\\tat com.cenqua.crucible.hibernate.WithSessionAspect.doCloseSession(WithSessionAspect.java:37)\\r\\n\\tat sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)\\r\\n\\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\\r\\n\\tat java.lang.reflect.Method.invoke(Method.java:597)\\r\\n\\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)\\r\\n\\tat org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)\\r\\n\\tat org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)\\r\\n\\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)\\r\\n\\tat org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)\\r\\n\\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)\\r\\n\\tat org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)\\r\\n\\tat $Proxy42.addReviewers(Unknown Source)\\r\\n\\tat sun.reflect.GeneratedMethodAccessor2530.invoke(Unknown Source)\\r\\n\\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\\r\\n\\tat java.lang.reflect.Method.invoke(Method.java:597)\\r\\n\\tat com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)\\r\\n\\tat $Proxy102.addReviewers(Unknown Source)\\r\\n\\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\\r\\n\\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\\r\\n\\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\\r\\n\\tat java.lang.reflect.Method.invoke(Method.java:597)\\r\\n\\tat com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)\\r\\n\\tat $Proxy102.addReviewers(Unknown Source)\\r\\n\\tat com.atlassian.fecrurestplugin.crucible.RestReviewService.addReviewers(RestReviewService.java:998)\\r\\n\\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\\r\\n\\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\\r\\n\\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\\r\\n\\tat java.lang.reflect.Method.invoke(Method.java:597)\\r\\n\\tat com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$VoidOutInvoker$1.invoke(DispatchProviderHelper.java:149)\\r\\n\\tat com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:90)\\r\\n\\tat com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61)\\r\\n\\tat com.atlassian.plugins.rest.common.expand.interceptor.ExpandInterceptor.intercept(ExpandInterceptor.java:38)\\r\\n\\tat com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61)\\r\\n\\tat com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.invokeMethodWithInterceptors(DispatchProviderHelper.java:98)\\r\\n\\tat com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.access$100(DispatchProviderHelper.java:28)\\r\\n\\tat com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$VoidOutInvoker._dispatch(DispatchProviderHelper.java:145)\\r\\n\\tat com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)\\r\\n\\tat com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163)\\r\\n\\tat com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)\\r\\n\\tat com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)\\r\\n\\tat com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)\\r\\n\\tat com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)\\r\\n\\tat com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:654)\\r\\n\\tat com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:612)\\r\\n\\tat com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:603)\\r\\n\\tat com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)\\r\\n\\tat com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)\\r\\n\\tat com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:128)\\r\\n\\tat com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:689)\\r\\n\\tat com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:62)\\r\\n\\tat com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)\\r\\n\\tat com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)\\r\\n\\tat com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)\\r\\n\\tat com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilterInternal(RestServletUtilsUpdaterFilter.java:26)\\r\\n\\tat com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilter(RestServletUtilsUpdaterFilter.java:40)\\r\\n\\tat com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)\\r\\n\\tat com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)\\r\\n\\tat com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25)\\r\\n\\tat com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.cenqua.fisheye.web.filters.RestFilter.doFilter(RestFilter.java:36)\\r\\n\\tat com.cenqua.fisheye.web.filters.CrucibleRestFilter.doFilter(CrucibleRestFilter.java:21)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)\\r\\n\\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.atlassian.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:146)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:272)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)\\r\\n\\tat com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)\\r\\n\\tat com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:71)\\r\\n\\tat com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)\\r\\n\\tat org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)\\r\\n\\tat org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)\\r\\n\\tat org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)\\r\\n\\tat org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)\\r\\n\\tat org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)\\r\\n\\tat org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)\\r\\n\\tat com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:178)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)\\r\\n\\tat com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)\\r\\n\\tat com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:71)\\r\\n\\tat com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:78)\\r\\n\\tat org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:154)\\r\\n\\tat com.cenqua.fisheye.web.filters.CustomIncludableGzipFilter.doFilter(CustomIncludableGzipFilter.java:27)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.cenqua.fisheye.web.filters.ProductInfoFilter.doFilter(ProductInfoFilter.java:44)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)\\r\\n\\tat com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:54)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat com.atlassian.fecru.profiling.ProfilingServletFilter.doFilter(ProfilingServletFilter.java:73)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)\\r\\n\\tat org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)\\r\\n\\tat org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)\\r\\n\\tat org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)\\r\\n\\tat org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)\\r\\n\\tat org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)\\r\\n\\tat org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)\\r\\n\\tat org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)\\r\\n\\tat org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)\\r\\n\\tat org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)\\r\\n\\tat org.mortbay.jetty.Server.handle(Server.java:326)\\r\\n\\tat org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)\\r\\n\\tat org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)\\r\\n\\tat org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)\\r\\n\\tat org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)\\r\\n\\tat org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)\\r\\n\\tat org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)\\r\\n\\tat org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)\\r\\n"}

The thing is that if I do a GET for reviewers on another review that I created by hand, I can see user1 is a valid user.

Any suggestions?