<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:24:15 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>[FOLIO-2922] Automate the configuration of API documentation</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-2922</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;There is currently a manual regular job to maintain configuration for the &lt;a href=&quot;https://dev.folio.org/reference/api/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;API docs&lt;/a&gt; index at the dev.f.o site. (See &lt;a href=&quot;https://dev.folio.org/reference/api/#configure-api-docs&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;notes&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The main reason for this is that the dev.f.o website has no knowledge of the set of API description files (e.g. *.raml) for each of the separate relevant back-end repositories, nor does it know which repositories are relevant. Each of those repositories might add or delete files at any time.&lt;/p&gt;

&lt;p&gt;Also in the early days of the project, each of the repositories had a different structure of their RAML areas. Now that is much more consistent, although some do have sub-directories that need to be excluded from processing.&lt;/p&gt;

&lt;p&gt;So an automated solution is needed, viz:&lt;/p&gt;

&lt;p&gt;When each repository has a merge to its mainline branch, then its API documentation is generated from its API description files (RAML or OpenAPI OAS). Those documents are then published to an AWS S3 bucket, to a sub-directory with the same name as the module.&lt;/p&gt;

&lt;p&gt;That &quot;api-doc (doApiDoc)&quot; CI job is assisted by the repository&apos;s Jenkinsfile properties (&lt;tt&gt;apiTypes&lt;/tt&gt; and &lt;tt&gt;apiDirectories&lt;/tt&gt; and &lt;tt&gt;apiExcludes&lt;/tt&gt;). It walks the filesystem to find API description files, and compiles a JSON configuration file. The file is deployed to that repository&apos;s S3 bucket.&lt;/p&gt;

&lt;p&gt;Then an automated regular CI job (perhaps GitHub actions) gathers all of the individual config-doc.json files, aggregates them, and commits the data file to the GitHub repository that controls the dev.f.o website. That commit triggers the rebuild of the site, hence updating the API docs index page.&lt;/p&gt;</description>
                <environment></environment>
        <key id="81925">FOLIO-2922</key>
            <summary>Automate the configuration of API documentation</summary>
                <type id="10003" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium">Task</type>
                                            <priority id="10005" iconUrl="https://dev.folio.org/assets/jira-priority/tbd.svg">TBD</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="61cd0ca0bce5e00069e98be7">David Crossley</assignee>
                                                                <reporter accountid="61cd0ca0bce5e00069e98be7">David Crossley</reporter>
                                    <labels>
                            <label>devdoc</label>
                            <label>oas</label>
                            <label>raml</label>
                    </labels>
                <created>Thu, 17 Dec 2020 14:18:10 +0000</created>
                <updated>Thu, 1 Sep 2022 08:14:11 +0000</updated>
                            <resolved>Thu, 8 Apr 2021 07:59:18 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                <comments>
                                                            <comment id="198548" author="61cd0ca0bce5e00069e98be7" created="Tue, 16 Feb 2021 05:11:26 +0000"  >&lt;p&gt;This now also needs to collect the configuration files that are generated by 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-3008&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-3008&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Upload build-generated HTML API docs to S3&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium&quot; /&gt;
            FOLIO-3008
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
.&lt;/p&gt;</comment>
                                                            <comment id="198550" author="61cd0ca0bce5e00069e98be7" created="Thu, 8 Apr 2021 07:58:46 +0000"  >&lt;p&gt;There is now a GitHub actions workflow &quot;gather-config-apidocs&quot; operating daily to gather configuration pieces and commit datafile changes to &quot;_data/config-apidocs.json&quot;&lt;/p&gt;

&lt;p&gt;Next task is 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-3018&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-3018&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Utilise the new configuration data to display dev.f.o/reference/api&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium&quot; /&gt;
            FOLIO-3018
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="81999">FOLIO-3018</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="81855">FOLIO-2898</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="81130">FOLIO-1912</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="81964">FOLIO-3008</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="82008">FOLIO-3028</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="79379">FOLIO-903</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="80673">FOLIO-1316</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="81855">FOLIO-2898</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </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="10155"><![CDATA[FOLIO DevOps]]></customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="955">DevOps Sprint 111</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>