Fisheye JIRA Integration does not work (500 Internal Server Error)
症状
The following error appear in atlassian-jira.log:
2012-09-06 13:31:44,250 http-8080-33 ERROR klfoong 811x18913x1 1k4l0zm 64.196.25.166 /browse/ENG-2773 [jirafisheyeplugin.domain.crucible.ReviewManagerImpl] (CRU Changeset Search) Error encountered retrieving issue reviews from 'svn' on 'http://fisheye.xtime.com/'
java.io.IOException: Error in remote call to 'fisheye' (http://fisheye.xtime.com) [AbstractRestCommand{path='api/rest/query', params={query=select revisions where (comment matches 'ENG-2773' or p4:jobid = 'ENG-2773') return reviews, rep=svn}, methodType=POST}] : Received status code 500 (Internal Server Error)
at com.atlassian.jirafisheyeplugin.rest.FishEyeRestApiManagerImpl.callFisheye(FishEyeRestApiManagerImpl.java:194)
at com.atlassian.jirafisheyeplugin.rest.FishEyeRestApiManagerImpl.callFisheye(FishEyeRestApiManagerImpl.java:123)
at com.atlassian.jirafisheyeplugin.rest.FishEyeRestApiManagerImpl.callFisheye(FishEyeRestApiManagerImpl.java:118)
at com.atlassian.jirafisheyeplugin.domain.crucible.ReviewManagerImpl.searchForReviews(ReviewManagerImpl.java:274)
at com.atlassian.jirafisheyeplugin.domain.crucible.ReviewManagerImpl.access$000(ReviewManagerImpl.java:33)
at com.atlassian.jirafisheyeplugin.domain.crucible.ReviewManagerImpl$1.doQuery(ReviewManagerImpl.java:107)
at com.atlassian.jirafisheyeplugin.domain.crucible.ReviewManagerImpl$1.doQuery(ReviewManagerImpl.java:102)
The following error appear in the fisheye-debug-*.log:
2012-09-06 13:31:44,245 INFO [btpool0-135 ] fisheye.app DefaultUserManager-importUser - auto-import user: "klfoong"
2012-09-06 13:31:44,246 ERROR [btpool0-135 ] mortbay.log Slf4jLog-warn - /api/rest/query
java.lang.RuntimeException: license error getting klfoong from fisheye DB:Could not add user "klfoong". Your license does not permit more than 50 users.
at com.atlassian.fisheye.trustedapplications.FisheyeUserResolver.resolve(FisheyeUserResolver.java:20)
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationFilterAuthenticator.authenticate(TrustedApplicationFilterAuthenticator.java:171)
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.authenticate(TrustedApplicationsFilter.java:113)
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:95)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:71)
原因
JIRA has higher user license than Fisheye/Crucible. Since Fisheye/Crucible has reached the license limit, it couldn't create new user from JIRA anymore. From the above example, the user klfoong try to access Crucible data from the Review tab but Crucible couldn't create the user due to license limit.
ソリューション
Upgrade Fisheye/Crucible license to have more users
または
JIRA 5.1.x
Remove the View Version Control permission from the user klfoong if the user is not supported to access Fisheye/Crucible data.
JIRA 5.2.x and 6.0.x
Remove the View Issue Source Tab permission from the user klfoong if the user is not supported to access Fisheye/Crucible data.
JIRA 6.1.x and latest
Remove the View Development Tools permission from the user klfoong if the user is not supported to access Fisheye/Crucible data.