<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 07:45:03 CET 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Magnolia - Issue tracker</title>
    <link>https://jira.magnolia-cms.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-uk</language>    <build-info>
        <version>9.4.2</version>
        <build-number>940002</build-number>
        <build-date>19-01-2023</build-date>
    </build-info>


<item>
            <title>[MGNLTEST-47] New mgnl page objects may have &quot;timing issues&quot; - analyze and fix if required</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLTEST-47</link>
                <project id="17084" key="MGNLTEST">Magnolia Test Framework</project>
                    <description>&lt;h3&gt;&lt;a name=&quot;Context&quot;&gt;&lt;/a&gt;Context&lt;/h3&gt;

&lt;p&gt;While writing tests, it turned out that &quot;we&quot; (actually me, chm) have a lot of issues which seem related with timing. (Typically tests were failing with ElementNotVisibleException or NoSuchElementException)&lt;br/&gt;
 While I 1st thought, that this is all related to my env. (docker on mac), some posts on slack from Rico let me think, that it could indeed be a probelm within the API.&lt;br/&gt;
 I wrote a test to test whether the API has timing issues. (See below)&lt;/p&gt;
&lt;hr /&gt;
&lt;h4&gt;&lt;a name=&quot;Testingthehypothesis&quot;&gt;&lt;/a&gt;Testing the hypothesis&lt;/h4&gt;

&lt;p&gt;&lt;b&gt;Test class&lt;/b&gt; which creates JCR content, see &lt;a href=&quot;https://gist.github.com/Watcher24/24a57798641897470b5ff4e489415a0e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gist.github.com/Watcher24/24a57798641897470b5ff4e489415a0e&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;2 of the methods create &lt;tt&gt;config:/modules/foobar&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;2 of the methods create &lt;tt&gt;config:/modules/foobar/goodies/@beer&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;2 methods using the API as &#8220;expected&#8221; in the (+/-) &#8220;most fluent way&#8221;.&lt;/li&gt;
	&lt;li&gt;2 of the methods have some additional calls are meant to delay things a bit.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Test runs: 3x with 10 reps (=30 reps for each method).&lt;/p&gt;

&lt;p&gt;Results: (&#10004;&#65038;/&#10006;&#65038;)&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;#createContent_withArtificalStops
	&lt;ul&gt;
		&lt;li&gt;9/1, 9/1, 10/0 -&amp;gt; &lt;b&gt;28/2&lt;/b&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;#createContent_fullyFluent
	&lt;ul&gt;
		&lt;li&gt;10/0, 9/1, 10/0 -&amp;gt; &lt;b&gt;29/1&lt;/b&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;#createMoreContent_withArtificalStops
	&lt;ul&gt;
		&lt;li&gt;8/2, 10/0, 9/1 -&amp;gt; &lt;b&gt;27/3&lt;/b&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;#createMoreContent_fullyFluent
	&lt;ul&gt;
		&lt;li&gt;5/5, 3/7, 3/7 -&amp;gt; &lt;b&gt;11/19&lt;/b&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;(Also see &lt;a href=&quot;https://www.dropbox.com/sh/skp7veapudyyp1d/AACPcbqxXgDFVASz7DhSFeKFa?dl=0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;there&lt;/a&gt; for more details regarding the test results.)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Execution of &lt;tt&gt;#createMoreContent_fullyFluent&lt;/tt&gt; fails much too much (19 failures on 30 runs).&lt;br/&gt;
 Since &lt;tt&gt;#createMoreContent_withArtificalStops&lt;/tt&gt; - which aims to do the same thing but using &quot;artifical delays&quot; - is much more successful, I state herby that we &lt;em&gt;do&lt;/em&gt; have timing issues.&lt;br/&gt;
 Anyhow ... further analysis is required.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;a name=&quot;Tasks&quot;&gt;&lt;/a&gt;Tasks&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;Further analyze the problem.&lt;/li&gt;
	&lt;li&gt;Add additional self-tests testing such timing issues.
	&lt;ul&gt;
		&lt;li&gt;Some self-tests should contain multiple calls of &quot;events&quot; which may need a &quot;waiting period&quot;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Add additional &quot;waitings&quot; inside page objects where it is required.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Basically make sure the API can be used the &quot;fluent way&quot; it was built for - without the need of adding &quot;artifical delays&quot;.&lt;/p&gt;
&lt;hr /&gt;


&lt;p&gt;&lt;b&gt;Outcome&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Created an &lt;tt&gt;@ImplicitWaitTimeout&lt;/tt&gt; annotation to increase WebDriver&apos;s implicit wait timeout when needed&lt;/li&gt;
	&lt;li&gt;Added an ExpectedCondition called &lt;tt&gt;vaadinIsDone()&lt;/tt&gt; allowing to suspend Selenium client code execution until Vaadin&apos;s client-server communication is done (possibly the major cause of intermittent failures requiring some sort of delay)&lt;/li&gt;
	&lt;li&gt;Hardened Grid row selection by using &lt;tt&gt;ExpectedConditions.refreshed(..)&lt;/tt&gt; so to avoid StaleElementReferenceException&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="80213">MGNLTEST-47</key>
            <summary>New mgnl page objects may have &quot;timing issues&quot; - analyze and fix if required</summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</type>
                                            <priority id="1" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/blocker.svg">Blocker</priority>
                        <status id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="fgrilli">Federico Grilli</assignee>
                                    <reporter username="cmeier">Christoph Meier</reporter>
                        <labels>
                    </labels>
                <created>Wed, 9 Oct 2019 10:08:16 +0200</created>
                <updated>Wed, 8 Jul 2020 05:32:47 +0200</updated>
                            <resolved>Mon, 13 Jan 2020 14:52:15 +0100</resolved>
                                                    <fixVersion>1.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="200071" author="cmeier" created="Fri, 18 Oct 2019 06:09:37 +0200"  >&lt;p&gt;Here is another example / a few lines of codes, where tests always fail:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
        contentApp.clickRow(titleInitialVersion)
                .hitAction(&lt;span class=&quot;code-quote&quot;&gt;&quot;Publish&quot;&lt;/span&gt;) 
                .hitAction(&lt;span class=&quot;code-quote&quot;&gt;&quot;Edit page&quot;&lt;/span&gt;)   
                .hitAction(&lt;span class=&quot;code-quote&quot;&gt;&quot;Edit page properties&quot;&lt;/span&gt;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The &quot;problem&quot; is publish which will may take some time plus displays a &quot;banner&quot; (&quot;Successfully bla bla ...&quot;).&lt;br/&gt;
 afaik these banners as well as other similar types of notification interfere with the DOM in a way, that our locators typically fail, as long as such a message is present.&lt;br/&gt;
 In some cases it is fine - actually required - to confirm the message, which disappear then.&lt;br/&gt;
 But the banner from publishing has no button to confirm (however, there is a &lt;b&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt;&lt;/b&gt; to close it), and the message automatically disappear after a few seconds.&lt;/p&gt;

&lt;p&gt;In the given case, I don&apos;t know how to avoid the failure (besides an artificial wait via debugger).&lt;br/&gt;
 Note that the banner is a &quot;result&quot; of the preceding &lt;tt&gt;hitAction(&quot;Publish&quot;)&lt;/tt&gt;.&lt;br/&gt;
 In theory we could add a long waiting period in the page object which implements &lt;tt&gt;#hitAction&lt;/tt&gt; - however, this is &lt;em&gt;not&lt;/em&gt; always required, since not all the actions lead to such banner.&lt;/p&gt;

&lt;p&gt;Not sure what would be &quot;ideal&quot; here.&lt;br/&gt;
 Probably something like:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
hitAction(&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; actionLabel, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; waitAfterward)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Not the most elegant way ... but probably a possibility?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="200132" author="fgrilli" created="Fri, 18 Oct 2019 13:45:16 +0200"  >&lt;p&gt;For the record, I&apos;m reporting here parts of the discussion we had on Slack&lt;/p&gt;

&lt;p&gt;&lt;b&gt;rico&lt;/b&gt;&lt;br/&gt;
 I actually thought that in some cases an overloaded hitAction(String action, int timeoutInSeconds) could be our best option for long running actions.&lt;br/&gt;
 In the case you mention in the comment, I think you can do something like this&lt;br/&gt;
 &lt;tt&gt;expect.notification().discard();&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;christoph&lt;/b&gt;&lt;br/&gt;
 It helped a liitle bit &#8230; but publish sometimes takes a bit longer &#8230;. in this case it fails on &lt;tt&gt;expect.notification().discard()&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;rico&lt;/b&gt;&lt;br/&gt;
 Given also that we don&#8217;t want test writers to mess with selenium api, otherwise we could let them use &lt;tt&gt;Conditions&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;...&lt;/tt&gt;&lt;br/&gt;
OTOH, since publishing is such a common action, we could add a &lt;tt&gt;publish&lt;/tt&gt; method to &lt;tt&gt;ContentApp&lt;/tt&gt; and handle the waiting logic in there.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;christoph&lt;/b&gt;&lt;br/&gt;
 Publish is indeed a tricky case.&lt;br/&gt;
 The volatility in the time it takes here, I guess, is on the Magnolia instance.&lt;br/&gt;
 Then ... there is the notification adding another layer of timimg complexity.&lt;/p&gt;</comment>
                            <comment id="205588" author="cmeier" created="Wed, 18 Dec 2019 12:07:09 +0100"  >&lt;p&gt;Time boxed for the time being to 5SP.&lt;/p&gt;</comment>
                            <comment id="206251" author="fgrilli" created="Thu, 2 Jan 2020 15:18:09 +0100"  >&lt;p&gt;Some results after the latest hardening contained in the PR. It appears that some flakiness in tests can&apos;t be completely and reliably avoided (network issues for instance). &lt;br/&gt;
The only way sometimes is to just retry a failing test a couple of times until it passes. &lt;/p&gt;

&lt;p&gt;1st run: 55/60 tests passed, 5 failed&lt;br/&gt;
2nd run: 3/5 tests passed, 2 failed&lt;br/&gt;
3rd run: 1/2 passed, 1 failed (legit failure: grid doesn&apos;t scroll selection into view thus resulting in org.openqa.selenium.NoSuchElementException)&lt;/p&gt;

&lt;p&gt;Methods prone to failure &lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;info.magnolia.testframework.Grid#rowIsSelected&lt;/li&gt;
	&lt;li&gt;info.magnolia.testframework.ContentApp#tabIsSelected&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Surefire may help us here &lt;a href=&quot;https://maven.apache.org/surefire/maven-surefire-plugin/examples/rerun-failing-tests.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://maven.apache.org/surefire/maven-surefire-plugin/examples/rerun-failing-tests.html&lt;/a&gt; especially since version 3.0.0-M4 and &lt;a href=&quot;https://issues.apache.org/jira/browse/SUREFIRE-1584&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://issues.apache.org/jira/browse/SUREFIRE-1584&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="206881" author="cmeier" created="Mon, 13 Jan 2020 11:04:50 +0100"  >&lt;p&gt;Follow-up:&#160;&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLTEST-14&quot; title=&quot;ContentApp#selectRowByPath method name and signature may be misleading&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLTEST-14&quot;&gt;&lt;del&gt;MGNLCE-177&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_14166" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Acceptance criteria</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>magnolia-cms.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 18 Oct 2019 13:45:16 +0200</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10246" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>MGNLTEST-2</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>cmeier</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 4 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>cmeier</customfieldvalue>
            <customfieldvalue>fgrilli</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|y01xry:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10242" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_14167" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Task DoR</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_14145" key="com.intenso.jira.issue-templates:issue-templates-customfield">
                        <customfieldname>Template</customfieldname>
                        <customfieldvalues>
                            


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_15131" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Time in Discovery</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_13933" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Urgency (resolution)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15724"><![CDATA[Normal]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>