<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 02:19:11 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>[LANG-42] Correct i18n messages to be valid for formatting using MessageFormat</title>
                <link>https://jira.magnolia-cms.com/browse/LANG-42</link>
                <project id="13080" key="LANG">Language Bundles</project>
                    <description>&lt;p&gt;namely:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;doubling single-quotes intended as literals&lt;/li&gt;
	&lt;li&gt;appending a space character after angle-brackets used in MessageFormat pluralization (to work around our own defensive HTML sanitation)&lt;/li&gt;
	&lt;li&gt;double-check for correct &quot;choice syntax&quot;, see &lt;a href=&quot;https://jira.magnolia-cms.com/browse/LANG-64&quot; title=&quot;Resource delete confirmation message is not correct processed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LANG-64&quot;&gt;&lt;del&gt;LANG-64&lt;/del&gt;&lt;/a&gt; for an eager translation problem&lt;/li&gt;
&lt;/ul&gt;

</description>
                <environment></environment>
        <key id="49768">LANG-42</key>
            <summary>Correct i18n messages to be valid for formatting using MessageFormat</summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</type>
                                            <priority id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/neutral.gif">Neutral</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="hieu.nguyen">Hieu Nguyen Duc</assignee>
                                    <reporter username="ajuran">Anton&#237;n Juran</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Jan 2016 17:43:36 +0100</created>
                <updated>Mon, 6 Feb 2017 08:49:05 +0100</updated>
                            <resolved>Fri, 23 Dec 2016 12:50:58 +0100</resolved>
                                                    <fixVersion>1.0.9</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                    <workratio workratioPercent="313"/>
                                    <progress percentage="100">
                                    <originalProgress>
                                                    <row percentage="31" backgroundColor="#89afd7"/>
                                                    <row percentage="69" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="100">
                                    <originalProgress>
                                                    <row percentage="31" backgroundColor="#89afd7"/>
                                                    <row percentage="69" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                    <timeoriginalestimate seconds="86400">3d</timeoriginalestimate>
                            <timeestimate seconds="0">0d</timeestimate>
                            <timespent seconds="270900">9d 3.25h</timespent>
                                <comments>
                            <comment id="136094" author="hieu.nguyen" created="Fri, 9 Dec 2016 03:56:34 +0100"  >&lt;p&gt;&lt;b&gt;1) Reason why we have to append a space after angle brackets:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Because &lt;tt&gt;DefaultMessageBundlesLoader&lt;/tt&gt; cleans malicious HTML using &lt;tt&gt;JSoup#clean&lt;/tt&gt;, we have to append a space after angle brackets to make sure the message is not recognized as HTML tag.&lt;br/&gt;
=&amp;gt; Add spaces for all messages having &quot;choice&quot; syntax.&lt;/p&gt;

&lt;p&gt;Ref: MAGNOLIA-6728&lt;/p&gt;

&lt;p&gt;&lt;b&gt;2) Regarding lacking of space, we have a special case that doesn&apos;t need a space.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The content is wrapped by single quotes.&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;
order=Please buy {0} {0,choice,1#&lt;span class=&quot;code-quote&quot;&gt;&apos;glass&apos;&lt;/span&gt;|1&amp;lt;&lt;span class=&quot;code-quote&quot;&gt;&apos;glasses&apos;&lt;/span&gt;} of beer &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; {1,choice,19#dinner|13&amp;gt;&lt;span class=&quot;code-quote&quot;&gt;&apos;lunch&apos;&lt;/span&gt;}.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;But adding a space doesn&apos;t cause any problem.&lt;br/&gt;
=&amp;gt; Add space also for this case.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;3) Because lacking of space doesn&apos;t show any error&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;We have to test it visually.&lt;br/&gt;
=&amp;gt; I created a tab in Showcase-app to check it in Magnolia environment.&lt;br/&gt;
&lt;a href=&quot;https://git.magnolia-cms.com/projects/INTERNAL/repos/showcase-app/pull-requests/1/overview&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.magnolia-cms.com/projects/INTERNAL/repos/showcase-app/pull-requests/1/overview&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;4) &lt;tt&gt;DefaultMessageBundleLoader&lt;/tt&gt; users should be aware of this issue.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;I&apos;ve added some test cases for the issue lacking of space.&lt;br/&gt;
&lt;a href=&quot;https://git.magnolia-cms.com/projects/PLATFORM/repos/main/pull-requests/349/overview&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.magnolia-cms.com/projects/PLATFORM/repos/main/pull-requests/349/overview&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="136160" author="ngoc.nguyenthanh" created="Mon, 12 Dec 2016 11:24:12 +0100"  >&lt;p&gt;Groovy scripts support for testing and finding potential error keys &amp;amp; messages&lt;/p&gt;
&lt;h6&gt;&lt;a name=&quot;1.Listdownpotentialwrongformatmessages&quot;&gt;&lt;/a&gt;1. List down potential wrong format messages&lt;/h6&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Load all message files and try to apply with dummy parameters&lt;/li&gt;
	&lt;li&gt;Prefix &quot;Error: &quot;. We need to check by manually one by one on this case always.&lt;/li&gt;
	&lt;li&gt;With the prefix &quot;Potential: &quot; syntax error: maybe it&apos;s issue with single quote or something else&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;Know issue&lt;/b&gt;: Have no clue why it can&apos;t load all locales (1/2 maybe)&lt;/li&gt;
&lt;/ul&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;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; info.magnolia.objectfactory.Components;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; info.magnolia.i18nsystem.DefaultMessageBundlesLoader;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; info.magnolia.resourceloader.ResourceOrigin;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; java.util.Locale;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; java.util.Properties;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; java.text.MessageFormat;

componentProvider = Components.getComponentProvider();

messageBundles = componentProvider.newInstance(DefaultMessageBundlesLoader.class, Components.getComponent(ResourceOrigin.class));
messages = messageBundles.getMessages();
&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (Map.Entry&amp;lt;Locale, Properties&amp;gt; entry : messages.entrySet())
{
     locale = entry.getKey();
     println &lt;span class=&quot;code-quote&quot;&gt;&quot;Language: &quot;&lt;/span&gt; + locale;
     localeMessages = entry.getValue();
     &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; name : Collections.list(localeMessages.propertyNames())) {
         &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; key = name.toString();
         &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; message = localeMessages.get(name);
         &lt;span class=&quot;code-comment&quot;&gt;//println key + &lt;span class=&quot;code-quote&quot;&gt;&quot; = &quot;&lt;/span&gt; + message;
&lt;/span&gt;         &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; {
            def args = [0,1,2,3,4] as &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;[];
            formatted = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; MessageFormat(message, locale).format(args);
           &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;(formatted.contains(&lt;span class=&quot;code-quote&quot;&gt;&quot;{&quot;&lt;/span&gt;)){
               println &lt;span class=&quot;code-quote&quot;&gt;&quot;Potential: &quot;&lt;/span&gt; + key + &lt;span class=&quot;code-quote&quot;&gt;&quot; = &quot;&lt;/span&gt; + message;
           }

        } &lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; (IllegalArgumentException e) {
            println &lt;span class=&quot;code-quote&quot;&gt;&quot;Error: &quot;&lt;/span&gt; + key + &lt;span class=&quot;code-quote&quot;&gt;&quot; = &quot;&lt;/span&gt; + message;
        }
     }

     println &quot;&quot;;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;h6&gt;&lt;a name=&quot;2.QuicktestamessagewithMessageFormat&quot;&gt;&lt;/a&gt;2. Quick test a message with MessageFormat&lt;/h6&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Need more accurate, modify the script mentioned above to get real message in Magnolia&lt;/li&gt;
	&lt;li&gt;Just for quick check purpose&lt;/li&gt;
&lt;/ul&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;
        &lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; org.jsoup.Jsoup;
        &lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; org.jsoup.safety.Whitelist;
        &lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; java.text.MessageFormat;
        &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; message = &lt;span class=&quot;code-quote&quot;&gt;&quot;Please buy {0} {0,choice,1#&lt;span class=&quot;code-quote&quot;&gt;&apos;glass&apos;&lt;/span&gt;|1&amp;lt; &lt;span class=&quot;code-quote&quot;&gt;&apos;glasses&apos;&lt;/span&gt;} of beer &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; {1,choice,19#dinner|13&amp;gt;&lt;span class=&quot;code-quote&quot;&gt;&apos;lunch&apos;&lt;/span&gt;}.&quot;&lt;/span&gt;;
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!Jsoup.isValid(message, Whitelist.basic())){
         message = Jsoup.clean(message, Whitelist.basic());
        }
        &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; {
            args = [0,1, 2,3,4] as &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;[];
            formatted = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; MessageFormat(message).format(args);
        } &lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; (Exception e) {
            println &lt;span class=&quot;code-quote&quot;&gt;&quot;Error: &quot;&lt;/span&gt;;
            println e;
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="136374" author="ngoc.nguyenthanh" created="Fri, 16 Dec 2016 10:28:58 +0100"  >&lt;p&gt;Scan in running instance may not accurate due to missing modules. Scan a source code folders for&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;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; info.magnolia.cms.i18n.MessagesManager
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; info.magnolia.i18nsystem.util.LocaleUtils

&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; java.text.MessageFormat

&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; groovy.io.FileType.FILES

folders = [&lt;span class=&quot;code-quote&quot;&gt;&quot;/Stephen/Magnolia/MagnoliaSourceCode/Lang/lang&quot;&lt;/span&gt;,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;/Stephen/Magnolia/MagnoliaSourceCode/Modules-Dev&quot;&lt;/span&gt;,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;/Stephen/Magnolia/MagnoliaSourceCode/Blossom&quot;&lt;/span&gt;,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;/Stephen/Magnolia/MagnoliaSourceCode/Enterprise-Dev&quot;&lt;/span&gt;,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;/Stephen/Magnolia/MagnoliaSourceCode/Platform-5.5&quot;&lt;/span&gt;
           ];
folders.each {
    folder -&amp;gt;
        &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; File(folder).eachFileRecurse(FILES) {
            &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (it.name.endsWith(&lt;span class=&quot;code-quote&quot;&gt;&apos;.properties&apos;&lt;/span&gt;)) {
                locale = LocaleUtils.parseFromFilename(it.name, MessagesManager.getInstance().getDefaultLocale());
                &lt;span class=&quot;code-comment&quot;&gt;// println &lt;span class=&quot;code-quote&quot;&gt;&quot;Language: &quot;&lt;/span&gt; + it;
&lt;/span&gt;                it.eachLine {
                    message -&amp;gt;
                        &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; {
                            def args = [0, 1, 2, 3, 4] as &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;[];
                            formatted = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; MessageFormat(message, locale).format(args);
                            &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (formatted.contains(&lt;span class=&quot;code-quote&quot;&gt;&quot;{&quot;&lt;/span&gt;)) {
                                println &lt;span class=&quot;code-quote&quot;&gt;&quot;Potential: &quot;&lt;/span&gt; + message;
                            }

                        } &lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; (IllegalArgumentException e) {
                            println &lt;span class=&quot;code-quote&quot;&gt;&quot;Error: &quot;&lt;/span&gt; + message;
                        }

                }
            }
        }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10030">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="56815">MGNLADVCACHE-82</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="56814">MGNLCACHE-159</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="56810">MGNLSLOCK-43</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="53174">LANG-63</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                            <outwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="48100">MGNLUI-3701</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="49680">MAGNOLIA-6489</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="49766">MAGNOLIA-8022</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10022">
                    <name>supersession</name>
                                            <outwardlinks description="supersedes">
                                        <issuelink>
            <issuekey id="53664">LANG-64</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="57048">MGNLUI-4109</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <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, 9 Dec 2016 03:56:34 +0100</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_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>hieu.nguyen</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            7 years, 9 weeks, 2 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>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>ajuran</customfieldvalue>
            <customfieldvalue>hieu.nguyen</customfieldvalue>
            <customfieldvalue>ngoc.nguyenthanh</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzzzzn:9a90vhlzy9004zye</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_10245" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="391">Saigon 75</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10242" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>