<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 06:58:47 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>[MGNLREST-323] Provide a standard ImportEndpoint for bootstrapping content</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLREST-323</link>
                <project id="10674" key="MGNLREST">Magnolia REST Framework</project>
                    <description>&lt;p&gt;As of M6.2.11, bootstrapping test fixtures (and light-module fixtures) for integration-tests goes through the &lt;a href=&quot;https://git.magnolia-cms.com/projects/PLATFORM/repos/ce.pub/browse/magnolia-integration-tests/magnolia-integration-tests-fixture-module/src/main/resources/mgnl-bootstrap/test/config.modules.test.rest-endpoints.testcommands.yaml?at=refs%2Ftags%2Fmagnolia-bundle-6.2.11&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;testcommands&lt;/a&gt;&#160;endpoint.&lt;/p&gt;

&lt;p&gt;This forces us to build separate runtime images of the product in order to use the test-framework and these facilities. Instead, we&apos;re looking towards running tests on vanilla product images. Therefore we aim to &lt;b&gt;support bootstrapping content via REST, in the product&lt;/b&gt; itself.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Proposedflow&quot;&gt;&lt;/a&gt;Proposed flow&lt;/h4&gt;

&lt;p&gt;A dedicated &lt;tt&gt;ImportEndpoint&lt;/tt&gt; at &lt;tt&gt;/.rest/import/v1&lt;/tt&gt;, accepting &lt;tt&gt;multipart/form-data&lt;/tt&gt;&#8212; suitable for uploading files as attachments (parts)&#8212;and a target &lt;tt&gt;path&lt;/tt&gt; query-parameter.&lt;br/&gt;
 Target workspace is conventionally inferred from the uploaded bootstrap-file name, &lt;em&gt;e.g.&lt;/em&gt; contacts.some-folder.mmonroe.xml.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The invoked command is still the standard &lt;tt&gt;JcrImportCommand&lt;/tt&gt; (&lt;a href=&quot;https://git.magnolia-cms.com/projects/PLATFORM/repos/main.pub/browse/magnolia-core/src/main/java/info/magnolia/importexport/command/JcrImportCommand.java&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;src&lt;/a&gt;); it accepts a &lt;tt&gt;&quot;stream&quot;&lt;/tt&gt; parameter.&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;MgnlCommand#execute&lt;/tt&gt; takes care of &lt;a href=&quot;https://git.magnolia-cms.com/projects/PLATFORM/repos/main.pub/browse/magnolia-core/src/main/java/info/magnolia/commands/MgnlCommand.java#78&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;overlaying&lt;/a&gt; command parameters onto the command itself via BeanUtils, hence setting the &lt;tt&gt;&quot;stream&quot;&lt;/tt&gt; param here.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The endpoint is expected to answer with No Content (204) if successful.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Currentflowthisreplaces&quot;&gt;&lt;/a&gt;Current flow this replaces&lt;/h4&gt;

&lt;p&gt;The &lt;tt&gt;testcommands&lt;/tt&gt; endpoint is a &lt;a href=&quot;https://git.magnolia-cms.com/projects/PLATFORM/repos/ce.pub/browse/magnolia-integration-tests/magnolia-integration-tests-fixture-module/src/main/java/info/magnolia/test/fixture/CommandEndpoint.java?at=magnolia-bundle-6.2.11&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;forked implementation&lt;/a&gt; of the standard &lt;em&gt;rest-services&lt;/em&gt; &lt;tt&gt;CommandEndpoint&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Bootstrap files (actual test files) are base64 encoded by the test-framework. Then the test &lt;tt&gt;CommandEndpoint&lt;/tt&gt; parses query parameters, searches for one named &lt;tt&gt;&quot;input&quot;&lt;/tt&gt;, decodes it back as a plain String, and &lt;a href=&quot;https://git.magnolia-cms.com/projects/PLATFORM/repos/ce.pub/browse/magnolia-integration-tests/magnolia-integration-tests-fixture-module/src/main/java/info/magnolia/test/fixture/CommandEndpoint.java?at=magnolia-bundle-6.2.11#173-186&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;pushes the base64-decoded result&lt;/a&gt; as a &lt;tt&gt;&quot;stream&quot;&lt;/tt&gt; entry into the command parameter map.&lt;/p&gt;</description>
                <environment></environment>
        <key id="101689">MGNLREST-323</key>
            <summary>Provide a standard ImportEndpoint for bootstrapping content</summary>
                <type id="2" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10891&amp;avatarType=issuetype">New Feature</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="mgeljic">Mika&#235;l Gelji&#263;</assignee>
                                    <reporter username="mgeljic">Mika&#235;l Gelji&#263;</reporter>
                        <labels>
                            <label>testing</label>
                    </labels>
                <created>Mon, 9 Aug 2021 15:27:20 +0200</created>
                <updated>Mon, 3 Jan 2022 12:27:46 +0100</updated>
                            <resolved>Wed, 10 Nov 2021 20:07:40 +0100</resolved>
                                                    <fixVersion>2.2.10</fixVersion>
                    <fixVersion>3.0.0</fixVersion>
                                    <component>services</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10030">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="104513">MGNLREST-335</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="98846">MGNLTEST-166</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="98438">MGNLTEST-163</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                                                <inwardlinks description="is depended upon by">
                                                        </inwardlinks>
                                    </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_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-175</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>czimmermann</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 26 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>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>mgeljic</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Patch included</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10100"><![CDATA[Yes]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzzu8k:98fc</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="1492">Cloud Service 16</customfieldvalue>
    <customfieldvalue id="1497">Cloud Service 17</customfieldvalue>
    <customfieldvalue id="1502">SaaS 18</customfieldvalue>
    <customfieldvalue id="1506">SaaS 19</customfieldvalue>
    <customfieldvalue id="1521">SaaS 21</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_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>