Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-61128

JIRA should use REST API to search Confluence pages and Link Jira Issues

    XMLWordPrintable

Details

    Description

      NOTE: This bug report is for JIRA Server. Using JIRA Cloud? See the corresponding bug report.

      Summary

      Confluence search from JIRA Issue, which uses deprecated confluence2.search of xml-rpc, does not work with some double-byte characters. REST API should be used instead.

      Steps to Reproduce

      1. Install Confluence 5.9.11 and JIRA Core 7.1.7 (latest), and applink them
      2. On Confluence, enable Remote API
      3. On Confluence, change indexing language to "CJK"
      4. On Confluence, create a space and create these 2 pages:
        • Title: Title-1 Body: ボディ (FYI, it is 'body' in Japanese)
        • Title: Title-2 Body: ボディ (FYI, it is 'body' in Japanese)
      5. On JIRA, create a project and a issue
      6. On JIRA's Issue detail view, go to "More" -> "Link" -> "Confluence Page" -> "search for a page", and search Confluence pages by keyword "ボディ"
      7. No search results, although you get the results if you use the same search keyword on Confluence (i.e. <CONF_BASE_URL>/dosearchsite.action?queryString=ボディ)

      See also attached "theProblem.jpg"
      This also impacts searching Jira Issues to Link issues.

      Expected Results

      It should show the 2 pages created in the above step

      Actual Results

      No search results.
      The below exception is thrown in the atlassian-confluence.log file:

      2015-07-29 17:06:44,519 ERROR [http-nio-15806-exec-8] [confluence.rpc.auth.TokenAuthenticationInvocationHandler] invokeAuthenticatedMethod Error during invocation of method [search]
       -- url: /confluence15806/rpc/xmlrpc | userName: admin | method: search
      java.lang.StringIndexOutOfBoundsException: String index out of range: -1
      	at java.lang.String.substring(String.java:1955)
      	at com.atlassian.bonnie.search.summary.Summarizer.getSummary(Summarizer.java:164)
      	at com.atlassian.confluence.util.GeneralUtil.makeSummary(GeneralUtil.java:1733)
      	at com.atlassian.confluence.util.GeneralUtil.makeFlatSummary(GeneralUtil.java:1769)
      	at com.atlassian.confluence.rpc.soap.beans.RemoteSearchResult.<init>(RemoteSearchResult.java:38)
      	at com.atlassian.confluence.rpc.soap.services.PagesSoapService.search(PagesSoapService.java:431)
      	at com.atlassian.confluence.rpc.soap.XhtmlSoapService.search(XhtmlSoapService.java:535)
      	at sun.reflect.GeneratedMethodAccessor848.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:497)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      	at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at com.sun.proxy.$Proxy1329.search(Unknown Source)
      	at com.atlassian.confluence.rpc.xmlrpc.ConfluenceXmlRpcHandlerImpl.search(ConfluenceXmlRpcHandlerImpl.java:485)
      	at sun.reflect.GeneratedMethodAccessor847.invoke(Unknown Source)
      

      Notes

      I raised it as a bug instead of suggestion, because I firstly created a bug ticket for Confluence (CONF-38631), however, it was closed because JIRA uses xml-rpc, which was deprecated since Confluence 5.5.

      Workaround

      No workaround is found so far

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mnakagawa Mai Nakagawa (Inactive)
              Votes:
              69 Vote for this issue
              Watchers:
              63 Start watching this issue

              Dates

                Created:
                Updated: