Details
-
Bug
-
Resolution: Obsolete
-
Low
-
None
-
1
-
Severity 3 - Minor
-
Description
Steps to reproduce
- Enable Atlassian account on a JIRA Cloud instance.
- Create a JIRA project.
- Hit the REST endpoint at /rest/api/2/project/<project key>/avatars
Expected results
JIRA returns the list of avatars and sizes for the project.
Actual results
JIRA returns an error:
{ "errorMessages": [ "Internal server error" ], "errors": { } }
This error is in the JIRA logs:
2016-11-22 08:49:35,975 http-nio-2994-exec-5 ERROR sysadmin 529x13515x1 103.233.242.8 /rest/api/2/project/KEY/avatars [c.a.j.rest.exception.ExceptionInterceptor] Returning internal server error in response java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor1537.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:192) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:83) ... 3 filtered at com.atlassian.jira.rest.exception.ExceptionInterceptor.intercept(ExceptionInterceptor.java:55) ... 1 filtered at com.atlassian.jira.rest.v2.issue.scope.RequestScopeInterceptor.intercept(RequestScopeInterceptor.java:39) ... 15 filtered at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:159) ... 1 filtered at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:69) ... 16 filtered at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilterWhenLicensed(ExternalCustomerLockoutFilter.java:65) at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:31) ... 19 filtered at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21) ... 42 filtered at com.atlassian.plugin.connect.plugin.auth.scope.ApiScopingFilter.doFilter(ApiScopingFilter.java:81) ... 3 filtered at com.atlassian.jira.plugins.hipchat.web.filter.TaskSchedulerFilter.doFilter(TaskSchedulerFilter.java:38) ... 3 filtered at com.atlassian.plugins.hipchat.rest.HipChatCapabilitiesFilter.doFilter(HipChatCapabilitiesFilter.java:66) ... 14 filtered at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:76) ... 1 filtered at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:74) ... 16 filtered at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37) ... 12 filtered at com.atlassian.servicedesk.plugins.cm.internal.auth.filter.LocalServiceDeskUserAuthenticationFilter.doFilter(LocalServiceDeskUserAuthenticationFilter.java:88) ... 8 filtered at com.atlassian.studio.jira.homepage.CloudHomepageFilter$Action.lambda$nextInFilterChain$1(CloudHomepageFilter.java:115) at com.atlassian.studio.jira.homepage.CloudHomepageFilter.doFilter(CloudHomepageFilter.java:73) at com.atlassian.studio.jira.homepage.CloudHomepageFilter$Provider.doFilter(CloudHomepageFilter.java:134) ... 19 filtered at com.atlassian.plugin.connect.plugin.auth.oauth2.DefaultSalAuthenticationFilter.doFilter(DefaultSalAuthenticationFilter.java:76) ... 3 filtered at com.atlassian.plugin.connect.plugin.auth.user.ThreeLeggedAuthFilter.doFilter(ThreeLeggedAuthFilter.java:110) ... 3 filtered at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:195) at com.atlassian.servicedesk.internal.utils.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:139) at com.atlassian.servicedesk.internal.utils.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:92) at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:64) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:188) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:144) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:135) ... 4 filtered at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32) ... 8 filtered at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21) ... 4 filtered at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36) ... 40 filtered at com.atlassian.jira.util.zipkin.ZipkinTracingFilter.lambda$doFilter$1(ZipkinTracingFilter.java:53) at com.github.kristofa.brave.servlet.BraveServletFilter.doFilter(BraveServletFilter.java:59) at com.atlassian.jira.util.zipkin.ZipkinTracingFilter.doFilter(ZipkinTracingFilter.java:41) ... 21 filtered at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.UnsupportedOperationException: Not implemented at com.atlassian.plugins.avatar.BaseAvatarProvider.getAvatarById(BaseAvatarProvider.java:24) at com.atlassian.jira.avatar.pluggable.AvatarProviderAdapter.getAvatarById(AvatarProviderAdapter.java:50) at sun.reflect.GeneratedMethodAccessor1593.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) at com.sun.proxy.$Proxy2622.getAvatarById(Unknown Source) at com.atlassian.jira.rest.v2.issue.UserBeanBuilder.getAvatarURLs(UserBeanBuilder.java:354) at com.atlassian.jira.rest.v2.issue.AvatarBeanFactory.createAvatarBeans(AvatarBeanFactory.java:35) at com.atlassian.jira.rest.v2.issue.AvatarResourceHelper.getAllAvatars(AvatarResourceHelper.java:97) at com.atlassian.jira.rest.v2.issue.ProjectResource$11.apply(ProjectResource.java:671) at com.atlassian.jira.rest.v2.issue.ProjectResource$11.apply(ProjectResource.java:665) at com.atlassian.fugue.Either$LeftProjection.on(Either.java:698) at com.atlassian.jira.rest.v2.issue.ProjectResource.getAllAvatars(ProjectResource.java:665) ... 297 more
Workaround
You can get the project avatars for all the projects by calling the /rest/api/2/project/{projectIdOrKey}/avatars endpoint.
E.g.: calling https://XXX.atlassian.net/rest/api/2/project/ returns:
Array[3][ { "expand": "description,lead,issueTypes,url,projectKeys", "self": "https://XXX.atlassian.net/rest/api/2/project/10100", "id": "10100", "key": "CSP", "name": "Customer Service Project", "avatarUrls": { "48x48": "https://XXX.atlassian.net/secure/projectavatar?avatarId=10324", "24x24": "https://XXX.atlassian.net/secure/projectavatar?size=small&avatarId=10324", "16x16": "https://XXX.atlassian.net/secure/projectavatar?size=xsmall&avatarId=10324", "32x32": "https://XXX.atlassian.net/secure/projectavatar?size=medium&avatarId=10324" }, "projectTypeKey": "service_desk" }, { "expand": "description,lead,issueTypes,url,projectKeys", "self": "https://XXX.atlassian.net/rest/api/2/project/10200", "id": "10200", "key": "TRP", "name": "Test Rest Project", "avatarUrls": { "48x48": "https://XXX.atlassian.net/secure/projectavatar?avatarId=10324", "24x24": "https://XXX.atlassian.net/secure/projectavatar?size=small&avatarId=10324", "16x16": "https://XXX.atlassian.net/secure/projectavatar?size=xsmall&avatarId=10324", "32x32": "https://XXX.atlassian.net/secure/projectavatar?size=medium&avatarId=10324" }, "projectTypeKey": "software" }, { "expand": "description,lead,issueTypes,url,projectKeys", "self": "https://XXX.atlassian.net/rest/api/2/project/10000", "id": "10000", "key": "TSP", "name": "Test Scrum Project", "avatarUrls": { "48x48": "https://XXX.atlassian.net/secure/projectavatar?avatarId=10324", "24x24": "https://XXX.atlassian.net/secure/projectavatar?size=small&avatarId=10324", "16x16": "https://XXX.atlassian.net/secure/projectavatar?size=xsmall&avatarId=10324", "32x32": "https://XXX.atlassian.net/secure/projectavatar?size=medium&avatarId=10324" }, "projectTypeKey": "software" } ]
Attachments
Issue Links
- links to
- mentioned in
-
Page Loading...