<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:23:16 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-2792] Investigate AMF &quot;validate&quot; facility to ensure reliable project RAML/Schema files</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-2792</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;The &lt;a href=&quot;https://github.com/aml-org/amf&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;AMF&lt;/a&gt; (AML Modeling Framework) tools can process a RAML file (and its related other RAML and Schema) into a model, which can then be validated against various profiles and translated into other formats, such as OpenAPI OAS, and JSON-LD.&lt;/p&gt;

&lt;p&gt;Translations cannot be achieved if a model does not validate, so investigate our current set of files.&lt;/p&gt;

&lt;p&gt;The main tool is &lt;a href=&quot;https://github.com/aml-org/amf&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;amf-client-js&lt;/a&gt; which is now being used for the folio-tools/api-lint (
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-2893&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-2893&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Create folio-tools/api-lint to verify RAML or OAS files&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-2893
        &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;</description>
                <environment></environment>
        <key id="81798">FOLIO-2792</key>
            <summary>Investigate AMF &quot;validate&quot; facility to ensure reliable project RAML/Schema files</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="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="61cd0ca0bce5e00069e98be7">David Crossley</assignee>
                                                                <reporter accountid="61cd0ca0bce5e00069e98be7">David Crossley</reporter>
                                    <labels>
                            <label>oas</label>
                            <label>raml</label>
                    </labels>
                <created>Tue, 15 Sep 2020 07:19:29 +0000</created>
                <updated>Mon, 15 Mar 2021 04:30:45 +0000</updated>
                            <resolved>Mon, 15 Mar 2021 04:30:45 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                <comments>
                                                            <comment id="197070" author="61cd0ca0bce5e00069e98be7" created="Thu, 24 Sep 2020 07:19:30 +0000"  >&lt;p&gt;I have done initial local processing of the set of current FOLIO RAML/JSON Schema by using the above-mentioned tools, as well as using the &lt;a href=&quot;https://github.com/raml-org/raml-js-parser-2&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;raml-js-parser-2&lt;/a&gt; which is behind our &quot;lint-raml&quot; CI processing.&lt;/p&gt;

&lt;p&gt;We have about 65 RAML-using projects, totalling about 315 RAMLs.&lt;/p&gt;

&lt;p&gt;All files are assessed as &quot;conforming&quot; using our current tool.&lt;/p&gt;

&lt;p&gt;Using these new tools about 75 files do present issues.&lt;/p&gt;

&lt;p&gt;Some of those seem to be example files that previously were not being processed in certain contexts, and these have definite issues such as the typical comma-in-json thing, or not validating against their schema.&lt;/p&gt;

&lt;p&gt;Others are perhaps due to new capabilities of these new tools.&lt;/p&gt;

&lt;p&gt;Others might be due to bugs in these new tools. So i have searched for common occurrences, developed test cases, and provided those to the upstream projects. Those will be linked up to this ticket.&lt;/p&gt;

&lt;p&gt;Remaining general improvements to our RAMLs will be described on this ticket.&lt;/p&gt;</comment>
                                                            <comment id="197074" author="61cd0ca0bce5e00069e98be7" created="Thu, 24 Sep 2020 07:24:09 +0000"  >&lt;p&gt;Initial upstream tool contributions:&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/aml-org/amf/issues/661&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/aml-org/amf/issues/661&lt;/a&gt;&lt;br/&gt;
Unresolved reference when example has same filename as a type filename&lt;/p&gt;

&lt;p&gt;Update: 20201001: The ticket is now acknowledged, but not yet addressed.&lt;br/&gt;
Update: 20201022: Their ticket is now resolved and released with AMF v4.4.0&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/aml-org/amf/issues/637&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/aml-org/amf/issues/637&lt;/a&gt;&lt;br/&gt;
The CLI jar falsely reports true RAML conformance with some invalid files&lt;/p&gt;

&lt;p&gt;The ticket is acknowledged, but not yet addressed.&lt;br/&gt;
Update: 20201029: Their ticket is now resolved and will be released with upcoming AMF v4.4.1&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;The JSON Schema Validator Ajv can be used to independently assess our schema and examples.&lt;br/&gt;
The command-line tool &lt;a href=&quot;https://github.com/ajv-validator/ajv-cli&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;ajv-cli&lt;/a&gt; is useful to easily invoke Ajv.&lt;/p&gt;

&lt;p&gt;However some of our JSON Schema (i.e. those in the shared &lt;a href=&quot;https://github.com/folio-org/raml&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;raml-util&lt;/a&gt;) use the filename extension suffix &quot;.schema&quot; which ajv-cli is not happy about.&lt;br/&gt;
See &lt;a href=&quot;https://github.com/ajv-validator/ajv-cli/issues/77&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/ajv-validator/ajv-cli/issues/77&lt;/a&gt; which now has a pending PR.&lt;/p&gt;

&lt;p&gt;(Note that all schemas will need a &quot;id&quot; keyword to enable use with Ajv. Not yet addressed.)&lt;/p&gt;</comment>
                                                            <comment id="197077" author="61cd0ca0bce5e00069e98be7" created="Thu, 22 Oct 2020 14:29:01 +0000"  >&lt;p&gt;The issue mentioned above (&lt;a href=&quot;https://github.com/aml-org/amf/issues/661&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/aml-org/amf/issues/661&lt;/a&gt; &amp;#8211; Unresolved reference when example has same filename as a type filename) is now fixed upstream (v4.4.0).&lt;/p&gt;

&lt;p&gt;That reduced the number of RAML files which indicated &quot;violations&quot; from 75 to 25.&lt;/p&gt;</comment>
                                                            <comment id="197080" author="61cd0ca0bce5e00069e98be7" created="Tue, 16 Feb 2021 02:56:32 +0000"  >&lt;p&gt;See list of migration issues at 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-3017&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-3017&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;List RAML issues with migration to new CI tool api-lint&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-3017
        &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="197082" author="61cd0ca0bce5e00069e98be7" created="Mon, 15 Mar 2021 04:30:30 +0000"  >&lt;p&gt;Closing this as done.&lt;/p&gt;

&lt;p&gt;The chosen tool &lt;a href=&quot;https://github.com/aml-org/amf&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;amf-client-js&lt;/a&gt; is now being used for the folio-tools/api-lint (
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-2893&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-2893&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Create folio-tools/api-lint to verify RAML or OAS files&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-2893
        &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;
) to verify both RAML and OpenAPI (OAS) API description files. See docs at &lt;a href=&quot;https://dev.folio.org/guides/api-lint/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://dev.folio.org/guides/api-lint/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note the list of migration issues for some FOLIO modules at 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-3017&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-3017&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;List RAML issues with migration to new CI tool api-lint&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-3017
        &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="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="79598">FOLIO-2793</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="80024">FOLIO-2814</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="81997">FOLIO-3017</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="79833">FOLIO-2863</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|i01o4r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1987">DevOps: Sprint 97</customfieldvalue>
    <customfieldvalue id="1988">DevOps: Sprint 99</customfieldvalue>
    <customfieldvalue id="1989">DevOps: Sprint 101</customfieldvalue>
    <customfieldvalue id="1862">DevOps: Sprint 100</customfieldvalue>
    <customfieldvalue id="1990">DevOps: Sprint 105</customfieldvalue>
    <customfieldvalue id="1863">DevOps: Sprint 103</customfieldvalue>
    <customfieldvalue id="1879">DevOps: Sprint 102</customfieldvalue>
    <customfieldvalue id="1991">DevOps Sprint 109</customfieldvalue>
    <customfieldvalue id="1880">DevOps Sprint 107</customfieldvalue>
    <customfieldvalue id="1881">DevOps Sprint 108</customfieldvalue>
    <customfieldvalue id="1884">DevOps: Sprint 104</customfieldvalue>
    <customfieldvalue id="1980">DevOps Sprint 106</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>