Uploaded image for project: 'Jira Platform Cloud'
  1. Jira Platform Cloud
  2. JRACLOUD-61128

JIRA should use REST API to search Confluence pages

XMLWordPrintable

      NOTE: This bug report is for JIRA Cloud. Using JIRA Server? 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"

      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

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

                Created:
                Updated:
                Resolved: