<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:23:13 UTC 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 add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[RANCHER-2] Automatic FOLIO set up in the Scratch dev environments.</title>
                <link>https://folio-org.atlassian.net/browse/RANCHER-2</link>
                <project id="10136" key="RANCHER">rancher</project>
                    <description>&lt;p&gt;It is required to automate FOLIO set up in the Scratch dev environments.&lt;br/&gt;
If a developer needs to deploy a features/story for testing in the Scratch dev environment he could run a dedicated Jenkins job and provide the following:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;A tenantId&lt;/li&gt;
	&lt;li&gt;a complete list of back-end modules required to set up the platform with the new functionality. For every module in the list the developer must provide either:
	&lt;ol&gt;
		&lt;li&gt;Docker image repository and version number (latest is the possible value for the sake of simplicity). It will be used to launch an application&lt;/li&gt;
		&lt;li&gt;Git repository and branch name. It will be used to build a jar file and docker image, and launch an application.&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;li&gt;The branch to use for the platform-complete deployment&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;As a result, a completely separate FOLIO platform must be deployed in the team&#8217;s project in Rancher.&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;For every back-end module, a separate application must be launched. It must be registered as a separate deployment in OKAPI and enabled for the tenant provided within params.&lt;/li&gt;
	&lt;li&gt;A new platform-complete application must be deployed using the branch provided&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Once testing has been completed and the deployed platform is not needed any more there should be a dedicated Jenkins job intended for clean up. The developer has to provide just tenantId for that and all the applications launched by the previous Jenkins job will be removed as well as the DB schemas created during modules&#8217; enablement for the tenant.&lt;/p&gt;</description>
                <environment></environment>
        <key id="52256">RANCHER-2</key>
            <summary>Automatic FOLIO set up in the Scratch dev environments.</summary>
                <type id="10005" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10309?size=medium">Story</type>
                                            <priority id="10002" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p3.svg">P3</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="-1">Unassigned</assignee>
                                                                <reporter accountid="557058:de4eac47-6d4e-4b50-9c3c-4a82ed705e52">Taras Spashchenko</reporter>
                                    <labels>
                            <label>KT-ID</label>
                    </labels>
                <created>Mon, 7 Sep 2020 09:29:27 +0000</created>
                <updated>Fri, 25 Feb 2022 07:11:01 +0000</updated>
                            <resolved>Fri, 25 Feb 2022 07:11:01 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                            <comments>
                                                            <comment id="123705" author="5f2840580d8b1a001bd02aae" created="Thu, 10 Dec 2020 12:43:40 +0000"  >&lt;p&gt;&lt;b&gt;Pipeline to deploy backend modules and Stripes bundle&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Basically, we have to create Jenkins pipeline with parameters:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&apos;projectName&apos; - team project name (choice parameter)&lt;/li&gt;
	&lt;li&gt;&apos;modules&apos; - text with JSON stucture (text, multi-line)&lt;/li&gt;
	&lt;li&gt;&apos;tenant&apos; - tenant name (string)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Here is the &apos;modules&apos; structure example:&lt;br/&gt;
[&lt;br/&gt;
  {&lt;br/&gt;
    &quot;id&quot;: &quot;mod-orders-storage-11.1.4&quot;,&lt;br/&gt;
    &quot;action&quot;: &quot;enable&quot;,&lt;br/&gt;
    &quot;repository&quot;: &quot;https://github.com/folio-org/mod-orders-storage.git&quot;,&lt;br/&gt;
    &quot;branch&quot;: &quot;master&quot;,&lt;br/&gt;
    &quot;answers&quot;: &lt;/p&gt;
{
      &quot;image.repository&quot;: &quot;docker.dev.folio.org/mod-orders-storage&quot;,
      &quot;image.tag&quot;: &quot;11.1.4&quot;
    }
&lt;p&gt;  },&lt;br/&gt;
  {&lt;br/&gt;
    &quot;id&quot;: &quot;mod-calendar-1.1.4&quot;,&lt;br/&gt;
    &quot;action&quot;: &quot;enable&quot;,&lt;br/&gt;
    &quot;repository&quot;: &quot;&quot;,&lt;br/&gt;
    &quot;branch&quot;: &quot;&quot;,&lt;br/&gt;
    &quot;answers&quot;: &lt;/p&gt;
{
      &quot;image.repository&quot;: &quot;folioci/mod-calendar&quot;,
      &quot;image.tag&quot;: &quot;1.1.4&quot;
  }
&lt;p&gt;,&lt;br/&gt;
  {&lt;br/&gt;
    &quot;id&quot;: &quot;platform-complete-12&quot;,&lt;br/&gt;
    &quot;action&quot;: &quot;enable&quot;,&lt;br/&gt;
    &quot;repository&quot;: &quot;https://github.com/folio-org/platform-complete.git&quot;,&lt;br/&gt;
    &quot;branch&quot;: &quot;dev_branch&quot;,&lt;br/&gt;
    &quot;answers&quot;: &lt;/p&gt;
{
      &quot;image.repository&quot;: &quot;docker.dev.folio.org/platform-complete&quot;,
      &quot;image.tag&quot;: &quot;12&quot;
  }
&lt;p&gt;]&lt;/p&gt;

&lt;p&gt;If &apos;repository&apos; filed is not empty, Jenkins job must build docker container and push it to &apos;docker.dev.folio.org&apos; repository.&lt;/p&gt;

&lt;p&gt;Typical steps for Jenkins job:&lt;br/&gt;
1. Build modules images from parameter&apos;s JSON using Ansible playbook&lt;br/&gt;
2. Push built modules images to docker repository&lt;br/&gt;
3. Run Terraform stack to deploy all the modules with provided JSON&lt;br/&gt;
4. Trigger okapi registration Jenkins job&lt;/p&gt;

</comment>
                                                            <comment id="123708" author="557058:9a7405d1-c785-4394-b0f0-3ac51f80085f" created="Fri, 25 Feb 2022 07:11:01 +0000"  >&lt;p&gt;Mostly done. Multi-tenancy will be covered by unified pipeline&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="81780">FOLIO-2759</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="81803">FOLIO-2796</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="81760">FOLIO-2806</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10006">
                    <name>Gantt End to Start</name>
                                                                <inwardlinks description="has to be done after">
                                        <issuelink>
            <issuekey id="52312">RANCHER-8</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="52498">RANCHER-190</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="59335">MODORDERS-427</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="52313">RANCHER-10</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                            <subtask id="52313">RANCHER-10</subtask>
                            <subtask id="52323">RANCHER-16</subtask>
                            <subtask id="52325">RANCHER-17</subtask>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10161"><![CDATA[Kitfox]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzx2vb:r6m7k</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10044" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>21.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 10 Dec 2020 12:43:40 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>