• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • 1.1
    • 1.0.1
    • None
    • WinXP + Tomcat 4.1.

      Following the instructions here:

      http://confluence.atlassian.com/display/DOC/JIRA+Issues+Macro

      Added this link:

      {jiraissues:url=http://zed.cisco.com/jira/secure/IssueNavigator.jspa?view=rss&pid=10000&statusIds=1&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&decorator=none}

      Error:

      jiraissues: ParseException: Error on line 23: The element type "link" must be terminated by the matching end-tag "".

      This is the XML produced from JIRA 2.6.1 Enterprise:

      <?xml version="1.0" encoding="UTF-8" ?>
      <!-- RSS generated by JIRA 65 at Thu Apr 29 09:24:12 PDT 2004
      -->
      <rss version="0.92">
      <channel>
      <title>JIRA Cisco HRIT</title>
      <link>http://zed.cisco.com/jira</link>
      <description>This file is an XML representation of some issues</description>
      <language>en</language>
      <item>
      <title>[PRTL-1] Add an event_log redirect to the HELP/Feedback</title>
      <link>http://zed.cisco.com/jira/browse/PRTL-1</link>
      <description>
      <![CDATA[ Need to create a redirect link of some sort on the Help/Feedback link (maybe make it into a Bookmark?) so that when somebody clicks on the link, we can record it and provide this in the stats reports.
      ]]>
      </description>
      <environment>
      <![CDATA[
      ]]>
      </environment>
      <key id="10000">PRTL-1</key>
      <summary>Add an event_log redirect to the HELP/Feedback</summary>
      <type id="3">Task</type>
      <priority id="3">Major</priority>
      <status id="1">Open</status>
      <resolution>Unresolved</resolution>
      <assignee username="tcolson">Tim Colson</assignee>
      <reporter username="tcolson">Tim Colson</reporter>
      <created>Tue, 27 Apr 2004 23:31:12 -0700 (PDT)</created>
      <updated>Thu, 29 Apr 2004 08:51:28 -0700 (PDT)</updated>
      <version>1.9.3</version>
      <fixVersion>1.9.3</fixVersion>
      <component>Reporting</component>
      <due />
      <customfields />
      </item>
      </channel>
      </rss>

            [CONFSERVER-1181] Parse exception in jiraissues

            I'm closing this issue as the main problem there was the authentication...

            But as for getting into HTML response (for whatsoever reason), there is another specific issues reported, CONF-922...

            Armond Avanes added a comment - I'm closing this issue as the main problem there was the authentication... But as for getting into HTML response (for whatsoever reason), there is another specific issues reported, CONF-922 ...

            Tim Colson added a comment -

            Okay, so I went into the DB directly and updated a sample page with the jiraissues macro to include the os_username/password in the URL...

            And it works.

            Now I just need to get a license, and figure out how to configure the security so those RSS links can be access in JIRA without the extra uid/pass params.

            Timo

            Tim Colson added a comment - Okay, so I went into the DB directly and updated a sample page with the jiraissues macro to include the os_username/password in the URL... And it works. Now I just need to get a license, and figure out how to configure the security so those RSS links can be access in JIRA without the extra uid/pass params. Timo

            Tim Colson added a comment -

            >Any possible error message by JIRA,
            >caused by an invalid URL or so, will be in HTML format
            > not an invalid RSS.
            Right – what I was thinking is that the response back from JIRA must have been an error (in html)... because that would be consistent with the Confluence mesg. (C asks J for RSS, J has a problem and sends an error in HTML, C tries to parse the error html as if it were real RSS (because C has no way to know it is an error since the response is still a valid 200 HTML success status code)... but then C dies because the response is not valid RSS.

            That all fits the scenario... but no idea how the bad response error was being generated because I didn't see it... until now.

            I tried your suggestion to login from a fresh Firefox browser (no cache creds) ...and I get an HTML response that is a SYSTEM ERROR.

            I tried adding a new user/pass (rss/rss), added: &os_username=rss&os_password=rss and it works from the browser!

            I was going to test in the Confluence install – but our eval license has expired, so I cannot edit! Aaaagh!

            BTW – I have not been able to reproduce the < RSS feed again, sorry.

            Thanks,
            Tim

            Tim Colson added a comment - >Any possible error message by JIRA, >caused by an invalid URL or so, will be in HTML format > not an invalid RSS. Right – what I was thinking is that the response back from JIRA must have been an error (in html)... because that would be consistent with the Confluence mesg. (C asks J for RSS, J has a problem and sends an error in HTML, C tries to parse the error html as if it were real RSS (because C has no way to know it is an error since the response is still a valid 200 HTML success status code)... but then C dies because the response is not valid RSS. That all fits the scenario... but no idea how the bad response error was being generated because I didn't see it... until now. I tried your suggestion to login from a fresh Firefox browser (no cache creds) ...and I get an HTML response that is a SYSTEM ERROR. I tried adding a new user/pass (rss/rss), added: &os_username=rss&os_password=rss and it works from the browser! I was going to test in the Confluence install – but our eval license has expired, so I cannot edit! Aaaagh! BTW – I have not been able to reproduce the < RSS feed again, sorry. Thanks, Tim

            Tim:

            Is your JIRA instance open or closed access? What could be happening here is that your browser is automatically logging in to JIRA, so you're getting an RSS feed back, but Confluence is not, so is getting an error page.

            Try adding to the end of the issues URL in Confluence: &os_username=username&os_password=password (replacing username and password with the username and password of someone authorised to view that page).

            I'd suggest creating a user in JIRA with minimal (view only) privileges for this purpose. In future versions of Confluence, we'll have some kind of authentication scheme so that Confluence can be taught to log into external services without exposing the details to users.

            Charles Miller (Inactive) added a comment - Tim: Is your JIRA instance open or closed access? What could be happening here is that your browser is automatically logging in to JIRA, so you're getting an RSS feed back, but Confluence is not, so is getting an error page. Try adding to the end of the issues URL in Confluence: &os_username=username&os_password=password (replacing username and password with the username and password of someone authorised to view that page). I'd suggest creating a user in JIRA with minimal (view only) privileges for this purpose. In future versions of Confluence, we'll have some kind of authentication scheme so that Confluence can be taught to log into external services without exposing the details to users.

            Any possible error message by JIRA, caused by an invalid URL or so, will be in HTML format not an invalid RSS.

            Please note that the first example you've provided on your initial posting has resulted an RSS (but somehow invalid!). But your last example is demonstrating a real HTML error message... You can see the "<head>" tag there and it's definitely an HTML one which is fundamentally different from the bug you've reported at the first.

            I know, RSS macro barfing on HTML pages, which itself is another bug (already reported). But this is another story...

            Still can't find out the case when JIRA provides invalid RSS feed like your first example (</link>). Please let me know when you get into any idea.

            Thank you,

            Armond Avanes added a comment - Any possible error message by JIRA, caused by an invalid URL or so, will be in HTML format not an invalid RSS. Please note that the first example you've provided on your initial posting has resulted an RSS (but somehow invalid!). But your last example is demonstrating a real HTML error message... You can see the "<head>" tag there and it's definitely an HTML one which is fundamentally different from the bug you've reported at the first. I know, RSS macro barfing on HTML pages, which itself is another bug (already reported). But this is another story... Still can't find out the case when JIRA provides invalid RSS feed like your first example (</link>). Please let me know when you get into any idea. Thank you,

            Tim Colson added a comment -

            I might have found a way to reproduce...

            I modified the URL slightly...note the "false" instead of "none" at the end...
            http://zed.cisco.com/jira/secure/IssueNavigator.jspa?view=rss&pid=10000&statusIds=1&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&decorator=false

            In IE, this gives the following:

            The XML page cannot be displayed
            Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
            --------------------------------------------------------------------------------
            End tag 'head' does not match the start tag 'link'. Error processing resource 'http://zed.cisco.com/jira/secure/IssueNavigator.jspa?view=rss&pid=10000&statusIds=1&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&decorator=false'. Line 27, Position 3

            </head>
            --^
            ------------------

            When I try it in Mozilla, I get this error:

            XML Parsing Error: mismatched tag. Expected: </link>.
            Location: http://zed.cisco.com/jira/secure/IssueNavigator.jspa?view=rss&pid=10000&statusIds=1&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&decorator=false
            Line Number 27, Column 3:</head>
            --^

            -------------------

            So here is my theory...perhaps in confluence, when the jiraissues macro is making the HTML request, it is adding something to the URL that corrrupts the request, and so JIRA returns an error mesg... and that mesg is being parsed by Confluence... and we get the error.

            That's my theory. But I don't know how to go much further to test a) what url EXACTLY is confluence using and b) What EXACTLY is the response?

            Tim
            P.S. I've noticed that the stylesheet is sometimes are not applied correctly to JIRA/Confluence... and that the LINK tag is "open"... when it really should be closed <link rel=blah blah />

            http://www.w3schools.com/tags/tag_link.asp

            So I pulled it up in

            Tim Colson added a comment - I might have found a way to reproduce... I modified the URL slightly...note the "false" instead of "none" at the end... http://zed.cisco.com/jira/secure/IssueNavigator.jspa?view=rss&pid=10000&statusIds=1&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&decorator=false In IE, this gives the following: The XML page cannot be displayed Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later. -------------------------------------------------------------------------------- End tag 'head' does not match the start tag 'link'. Error processing resource 'http://zed.cisco.com/jira/secure/IssueNavigator.jspa?view=rss&pid=10000&statusIds=1&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&decorator=false'. Line 27, Position 3 </head> --^ ------------------ When I try it in Mozilla, I get this error: XML Parsing Error: mismatched tag. Expected: </link>. Location: http://zed.cisco.com/jira/secure/IssueNavigator.jspa?view=rss&pid=10000&statusIds=1&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&decorator=false Line Number 27, Column 3:</head> --^ ------------------- So here is my theory...perhaps in confluence, when the jiraissues macro is making the HTML request, it is adding something to the URL that corrrupts the request, and so JIRA returns an error mesg... and that mesg is being parsed by Confluence... and we get the error. That's my theory. But I don't know how to go much further to test a) what url EXACTLY is confluence using and b) What EXACTLY is the response? Tim P.S. I've noticed that the stylesheet is sometimes are not applied correctly to JIRA/Confluence... and that the LINK tag is "open"... when it really should be closed <link rel=blah blah /> http://www.w3schools.com/tags/tag_link.asp So I pulled it up in

            Tim Colson added a comment -

            Unfortunately, there have been a couple new issues logged in JIRA – so the environment has changed, and I cannot reproduce getting the &lt instead of < in the link.

            Now when I hit this url with IE, I get the results below, where link seems okay.
            http://zed.cisco.com/jira/secure/IssueNavigator.jspa?view=rss&pid=10000&statusIds=1&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&decorator=none

            (FYI: "-" chars are from copying the view in IE using it's tree view of XML.)

            <?xml version="1.0" encoding="UTF-8" ?>

            • <!-- RSS generated by JIRA 65 at Sat May 01 13:51:52 PDT 2004
              -->
            • <rss version="0.92">
            • <channel>
              <title>JIRA Cisco HRIT</title>
              <link>http://zed.cisco.com/jira</link>
              <description>This file is an XML representation of some issues</description>
              <language>en</language>
            • <item>
              <title>[PRTL-3] Refactor reporting action to consolidate JDBC calls</title>
              <link>http://zed.cisco.com/jira/browse/PRTL-3</link>
            • <description>
            • <![CDATA[ The current UsageReports action could be refactored to improve readability and re-use of JDBC functions.
              ]]>
              </description>
            • <environment>
            • <![CDATA[
              ]]>
              </environment>
              <key id="10011">PRTL-3</key>
              <summary>Refactor reporting action to consolidate JDBC calls</summary>
              <type id="3">Task</type>
              <priority id="4">Minor</priority>
              <status id="1">Open</status>
              <resolution>Unresolved</resolution>
              <assignee username="tcolson">Tim Colson</assignee>
              <reporter username="tcolson">Tim Colson</reporter>
              <created>Thu, 29 Apr 2004 12:07:55 -0700 (PDT)</created>
              <updated>Thu, 29 Apr 2004 12:07:55 -0700 (PDT)</updated>
              <version>1.9.3</version>
              <fixVersion>1.9.3</fixVersion>
              <component>Reporting</component>
              <due />
              <timeoriginalestimate>4 hours</timeoriginalestimate>
              <timeestimate>4 hours</timeestimate>
              <customfields />
              </item>
            • <item>
              <title>[PRTL-2] Collect stats on Help/Feedback link clicks</title>
              <link>http://zed.cisco.com/jira/browse/PRTL-2</link>
            • <description>
            • <![CDATA[
              Need to create a redirect link of some sort on the Help/Feedback link (maybe make it into a Bookmark?) so that when somebody clicks on the link, we can record it and provide this in the stats reports.
              <br>
               
              <br>

            ]]>
            </description>

            • <environment>
            • <![CDATA[
              ]]>
              </environment>
              <key id="10010">PRTL-2</key>
              <summary>Collect stats on Help/Feedback link clicks</summary>
              <type id="3">Task</type>
              <priority id="3">Major</priority>
              <status id="1">Open</status>
              <resolution>Unresolved</resolution>
              <assignee username="tcolson">Tim Colson</assignee>
              <reporter username="tcolson">Tim Colson</reporter>
              <created>Thu, 29 Apr 2004 12:02:16 -0700 (PDT)</created>
              <updated>Thu, 29 Apr 2004 12:04:02 -0700 (PDT)</updated>
              <version>1.9.3</version>
              <fixVersion>1.9.3</fixVersion>
              <component>Reporting</component>
              <due />
              <timeoriginalestimate>3 hours</timeoriginalestimate>
              <timeestimate>2 hours</timeestimate>
              <timespent>30 minutes</timespent>
              <customfields />
              </item>
              </channel>
              </rss>

            --------

            In Confluence, the URL still gives the parse exception, and it shows up in the logs too.

            BTW – the speaking of logs, it shows up in the tomcat STDOUT.log... not in it's own log file. Is that the way it should be??

            2004-05-01 14:07:25,803 ERROR [renderer.radeox.macros.JiraIssuesMacro] Error while trying to assemble the RSS result!
            de.nava.informa.core.ParseException: ParseException: Error on line 23: The element type "link" must be terminated by the matching end-tag "</link>".
            at de.nava.informa.parsers.RSSParser.parse(RSSParser.java:116)
            at de.nava.informa.parsers.RSSParser.parse(RSSParser.java:87)
            at com.atlassian.confluence.renderer.radeox.macros.RssMacro.fetchRSSChannel(RssMacro.java:104)
            at com.atlassian.confluence.renderer.radeox.macros.JiraIssuesMacro.getHtml(JiraIssuesMacro.java:57)
            at com.atlassian.confluence.renderer.radeox.macros.AbstractHtmlGeneratingMacro.execute(AbstractHtmlGeneratingMacro.java:30)
            at com.atlassian.confluence.renderer.radeox.filters.MacroFilter.handleMatch(MacroFilter.java:94)
            at org.radeox.filter.regex.RegexTokenFilter.filter(RegexTokenFilter.java:91)
            at org.radeox.filter.FilterPipe.filter(FilterPipe.java:169)
            at com.atlassian.confluence.renderer.radeox.AbstractRenderEngine.render(AbstractRenderEngine.java:79)
            at com.atlassian.confluence.renderer.radeox.ConfluenceRenderEngine.render(ConfluenceRenderEngine.java:47)
            at sun.reflect.GeneratedMethodAccessor382.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:59)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:201)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
            at com.atlassian.confluence.util.profiling.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:17)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:196)
            at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:135)
            at $Proxy7.render(Unknown Source)
            at com.atlassian.confluence.renderer.radeox.RadeoxWikiStyleRenderer.convertWikiToXHtml(RadeoxWikiStyleRenderer.java:79)
            at sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:59)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:201)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
            at com.atlassian.confluence.util.profiling.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:17)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:196)
            at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:135)
            at $Proxy8.convertWikiToXHtml(Unknown Source)
            at com.atlassian.confluence.pages.actions.ViewPageAction.execute(ViewPageAction.java:121)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:171)
            at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
            at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:58)
            at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:32)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
            at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
            at com.atlassian.confluence.core.ConfluenceValidationInterceptor.intercept(ConfluenceValidationInterceptor.java:18)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
            at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
            at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:40)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
            at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
            at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
            at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
            at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
            at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37)
            at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
            at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
            at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:182)
            at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:162)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
            at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
            at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
            at com.atlassian.confluence.servlet.SimpleDisplayServlet.doGet(SimpleDisplayServlet.java:56)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:129)
            at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:36)
            at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:61)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:161)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:100)
            at com.atlassian.confluence.setup.SpringSessionInViewFilter.doFilterInternal(SpringSessionInViewFilter.java:32)
            at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:57)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:38)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
            at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
            at java.lang.Thread.run(Thread.java:534)
            org.apache.velocity.exception.VelocityException: Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath.
            at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:88)
            at com.atlassian.jira.mail.UserMailQueueItem.send(UserMailQueueItem.java:58)
            at com.atlassian.mail.queue.MailQueueImpl.sendBuffer(MailQueueImpl.java:55)
            at com.atlassian.jira.service.services.mail.MailQueueService.run(MailQueueService.java:23)
            at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:51)
            at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:50)
            at org.quartz.core.JobRunShell.run(JobRunShell.java:147)
            at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387)
            2004-05-01 14:07:43,249 ERROR [atlassian.jira.mail.UserMailQueueItem] Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath.
            org.apache.velocity.exception.VelocityException: Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath.
            at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:88)
            at com.atlassian.jira.mail.UserMailQueueItem.send(UserMailQueueItem.java:58)
            at com.atlassian.mail.queue.MailQueueImpl.sendBuffer(MailQueueImpl.java:55)
            at com.atlassian.jira.service.services.mail.MailQueueService.run(MailQueueService.java:23)
            at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:51)
            at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:50)
            at org.quartz.core.JobRunShell.run(JobRunShell.java:147)
            at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387)
            2004-05-01 14:07:43,249 ERROR [atlassian.mail.queue.MailQueueImpl] com.atlassian.mail.MailException: Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath.
            org.apache.velocity.exception.VelocityException: Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath.
            at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:88)
            at com.atlassian.jira.mail.UserMailQueueItem.send(UserMailQueueItem.java:58)
            at com.atlassian.mail.queue.MailQueueImpl.sendBuffer(MailQueueImpl.java:55)
            at com.atlassian.jira.service.services.mail.MailQueueService.run(MailQueueService.java:23)
            at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:51)
            at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:50)
            at org.quartz.core.JobRunShell.run(JobRunShell.java:147)
            at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387)
            2004-05-01 14:07:43,249 ERROR [atlassian.jira.mail.UserMailQueueItem] Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath.
            or

            Tim Colson added a comment - Unfortunately, there have been a couple new issues logged in JIRA – so the environment has changed, and I cannot reproduce getting the &lt instead of < in the link. Now when I hit this url with IE, I get the results below, where link seems okay. http://zed.cisco.com/jira/secure/IssueNavigator.jspa?view=rss&pid=10000&statusIds=1&sorter/field=issuekey&sorter/order=DESC&tempMax=25&reset=true&decorator=none (FYI: "-" chars are from copying the view in IE using it's tree view of XML.) <?xml version="1.0" encoding="UTF-8" ?> <!-- RSS generated by JIRA 65 at Sat May 01 13:51:52 PDT 2004 --> <rss version="0.92"> <channel> <title>JIRA Cisco HRIT</title> <link> http://zed.cisco.com/jira </link> <description>This file is an XML representation of some issues</description> <language>en</language> <item> <title> [PRTL-3] Refactor reporting action to consolidate JDBC calls</title> <link> http://zed.cisco.com/jira/browse/PRTL-3 </link> <description> <![CDATA[ The current UsageReports action could be refactored to improve readability and re-use of JDBC functions. ]]> </description> <environment> <![CDATA[ ]]> </environment> <key id="10011">PRTL-3</key> <summary>Refactor reporting action to consolidate JDBC calls</summary> <type id="3">Task</type> <priority id="4">Minor</priority> <status id="1">Open</status> <resolution>Unresolved</resolution> <assignee username="tcolson">Tim Colson</assignee> <reporter username="tcolson">Tim Colson</reporter> <created>Thu, 29 Apr 2004 12:07:55 -0700 (PDT)</created> <updated>Thu, 29 Apr 2004 12:07:55 -0700 (PDT)</updated> <version>1.9.3</version> <fixVersion>1.9.3</fixVersion> <component>Reporting</component> <due /> <timeoriginalestimate>4 hours</timeoriginalestimate> <timeestimate>4 hours</timeestimate> <customfields /> </item> <item> <title> [PRTL-2] Collect stats on Help/Feedback link clicks</title> <link> http://zed.cisco.com/jira/browse/PRTL-2 </link> <description> <![CDATA[ Need to create a redirect link of some sort on the Help/Feedback link (maybe make it into a Bookmark?) so that when somebody clicks on the link, we can record it and provide this in the stats reports. <br>   <br> ]]> </description> <environment> <![CDATA[ ]]> </environment> <key id="10010">PRTL-2</key> <summary>Collect stats on Help/Feedback link clicks</summary> <type id="3">Task</type> <priority id="3">Major</priority> <status id="1">Open</status> <resolution>Unresolved</resolution> <assignee username="tcolson">Tim Colson</assignee> <reporter username="tcolson">Tim Colson</reporter> <created>Thu, 29 Apr 2004 12:02:16 -0700 (PDT)</created> <updated>Thu, 29 Apr 2004 12:04:02 -0700 (PDT)</updated> <version>1.9.3</version> <fixVersion>1.9.3</fixVersion> <component>Reporting</component> <due /> <timeoriginalestimate>3 hours</timeoriginalestimate> <timeestimate>2 hours</timeestimate> <timespent>30 minutes</timespent> <customfields /> </item> </channel> </rss> -------- In Confluence, the URL still gives the parse exception, and it shows up in the logs too. BTW – the speaking of logs, it shows up in the tomcat STDOUT.log... not in it's own log file. Is that the way it should be?? 2004-05-01 14:07:25,803 ERROR [renderer.radeox.macros.JiraIssuesMacro] Error while trying to assemble the RSS result! de.nava.informa.core.ParseException: ParseException: Error on line 23: The element type "link" must be terminated by the matching end-tag "</link>". at de.nava.informa.parsers.RSSParser.parse(RSSParser.java:116) at de.nava.informa.parsers.RSSParser.parse(RSSParser.java:87) at com.atlassian.confluence.renderer.radeox.macros.RssMacro.fetchRSSChannel(RssMacro.java:104) at com.atlassian.confluence.renderer.radeox.macros.JiraIssuesMacro.getHtml(JiraIssuesMacro.java:57) at com.atlassian.confluence.renderer.radeox.macros.AbstractHtmlGeneratingMacro.execute(AbstractHtmlGeneratingMacro.java:30) at com.atlassian.confluence.renderer.radeox.filters.MacroFilter.handleMatch(MacroFilter.java:94) at org.radeox.filter.regex.RegexTokenFilter.filter(RegexTokenFilter.java:91) at org.radeox.filter.FilterPipe.filter(FilterPipe.java:169) at com.atlassian.confluence.renderer.radeox.AbstractRenderEngine.render(AbstractRenderEngine.java:79) at com.atlassian.confluence.renderer.radeox.ConfluenceRenderEngine.render(ConfluenceRenderEngine.java:47) at sun.reflect.GeneratedMethodAccessor382.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:59) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:201) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176) at com.atlassian.confluence.util.profiling.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:17) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:135) at $Proxy7.render(Unknown Source) at com.atlassian.confluence.renderer.radeox.RadeoxWikiStyleRenderer.convertWikiToXHtml(RadeoxWikiStyleRenderer.java:79) at sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:59) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:201) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176) at com.atlassian.confluence.util.profiling.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:17) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:135) at $Proxy8.convertWikiToXHtml(Unknown Source) at com.atlassian.confluence.pages.actions.ViewPageAction.execute(ViewPageAction.java:121) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:171) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168) at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:58) at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:32) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37) at com.atlassian.confluence.core.ConfluenceValidationInterceptor.intercept(ConfluenceValidationInterceptor.java:18) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168) at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:40) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:37) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168) at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116) at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:182) at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:162) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356) at com.atlassian.confluence.servlet.SimpleDisplayServlet.doGet(SimpleDisplayServlet.java:56) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:129) at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:36) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:161) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:100) at com.atlassian.confluence.setup.SpringSessionInViewFilter.doFilterInternal(SpringSessionInViewFilter.java:32) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:57) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:38) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) org.apache.velocity.exception.VelocityException: Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath. at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:88) at com.atlassian.jira.mail.UserMailQueueItem.send(UserMailQueueItem.java:58) at com.atlassian.mail.queue.MailQueueImpl.sendBuffer(MailQueueImpl.java:55) at com.atlassian.jira.service.services.mail.MailQueueService.run(MailQueueService.java:23) at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:51) at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:50) at org.quartz.core.JobRunShell.run(JobRunShell.java:147) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387) 2004-05-01 14:07:43,249 ERROR [atlassian.jira.mail.UserMailQueueItem] Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath. org.apache.velocity.exception.VelocityException: Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath. at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:88) at com.atlassian.jira.mail.UserMailQueueItem.send(UserMailQueueItem.java:58) at com.atlassian.mail.queue.MailQueueImpl.sendBuffer(MailQueueImpl.java:55) at com.atlassian.jira.service.services.mail.MailQueueService.run(MailQueueService.java:23) at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:51) at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:50) at org.quartz.core.JobRunShell.run(JobRunShell.java:147) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387) 2004-05-01 14:07:43,249 ERROR [atlassian.mail.queue.MailQueueImpl] com.atlassian.mail.MailException: Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath. org.apache.velocity.exception.VelocityException: Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath. at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:88) at com.atlassian.jira.mail.UserMailQueueItem.send(UserMailQueueItem.java:58) at com.atlassian.mail.queue.MailQueueImpl.sendBuffer(MailQueueImpl.java:55) at com.atlassian.jira.service.services.mail.MailQueueService.run(MailQueueService.java:23) at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:51) at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:50) at org.quartz.core.JobRunShell.run(JobRunShell.java:147) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387) 2004-05-01 14:07:43,249 ERROR [atlassian.jira.mail.UserMailQueueItem] Could not find template 'templates\email\text/usercreated.vm' ensure it is in the classpath. or

            The </link> closing tag seems to be corrupted as the message itself says too:

            <link>http://zed.cisco.com/jira&lt;/link>

            But I doubt if here the JIRA has messed it on this issue or it's exactly how you're getting from the RSS. Would you please clarify this?

            After all, on either of the cases you've captured a JIRA bug

            Armond Avanes added a comment - The </link> closing tag seems to be corrupted as the message itself says too: <link> http://zed.cisco.com/jira&lt;/link > But I doubt if here the JIRA has messed it on this issue or it's exactly how you're getting from the RSS. Would you please clarify this? After all, on either of the cases you've captured a JIRA bug

              0e1d1dcfc133 Armond Avanes
              bf5ce6cbb9e3 Tim Colson
              Affected customers:
              0 This affects my team
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: