<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 22:30:25 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>[MODEXPW-51] Records processing errors handling</title>
                <link>https://folio-org.atlassian.net/browse/MODEXPW-51</link>
                <project id="10012" key="MODEXPW">mod-data-export-worker</project>
                    <description>&lt;p&gt;&lt;b&gt;Purpose/Overview:&lt;/b&gt;&lt;br/&gt;
It is required to handle the errors during the export process. The handled errors should be logged and saved. Therefore users will be able to see errors.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Requirements/Scope:&lt;/b&gt; &lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;If an error occurs, the identifier of the record and reason for the failure are provided.&lt;/li&gt;
	&lt;li&gt;Encountered errors are logged &amp;#8211; might not be in scope for the pilot program&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
	&lt;li&gt;record identifier (&lt;b&gt;TODO: determine UUID or barcode&lt;/b&gt;)&lt;/li&gt;
	&lt;li&gt;reason for the error&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
	&lt;li&gt;Invalid identifiers are logged (when processing the UUIDs file or record with id doesn&apos;t exist)&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
	&lt;li&gt;invalid identifier&lt;/li&gt;
	&lt;li&gt;reason for being invalid&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;b&gt;Approach:&lt;/b&gt;   &lt;br/&gt;
1) Database table for error logs added &lt;br/&gt;
2) Error handling provided for both export by UUIDs file and query jobs.&lt;br/&gt;
3) New endpoint for getting error logs implemented /data-export-worker/&lt;tt&gt;jobId&lt;/tt&gt;/errors&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Acceptance criteria:&lt;/b&gt; &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Unsuccessful updates are logged and reported&lt;/li&gt;
	&lt;li&gt;List of errors is provided so that it can be displayed to the User&lt;/li&gt;
	&lt;li&gt;List of invalid identifiers is provided so that it can be displayed to the User&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;b&gt;Out of scope:&lt;/b&gt; localization of the error messages is out of scope for the pilot project but should be considered in the later implementations&lt;/p&gt;</description>
                <environment></environment>
        <key id="30965">MODEXPW-51</key>
            <summary>Records processing errors handling</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="63519767d66d8108a1226c09">Viachaslau Khandramai</assignee>
                                                                <reporter accountid="712020:34093935-4596-40a6-8e57-61b3f326b5b3">Illia Daliek</reporter>
                                    <labels>
                            <label>bulk-edit-pilot</label>
                    </labels>
                <created>Wed, 17 Nov 2021 13:22:17 +0000</created>
                <updated>Thu, 20 Jan 2022 22:13:18 +0000</updated>
                            <resolved>Thu, 20 Jan 2022 22:13:18 +0000</resolved>
                                                    <fixVersion>1.3.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                <comments>
                                                            <comment id="69083" author="557058:8629b273-56f1-466d-b7c7-5cbac0c3379b" created="Fri, 19 Nov 2021 00:30:33 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A34093935-4596-40a6-8e57-61b3f326b5b3&quot; class=&quot;user-hover&quot; rel=&quot;712020:34093935-4596-40a6-8e57-61b3f326b5b3&quot; data-account-id=&quot;712020:34093935-4596-40a6-8e57-61b3f326b5b3&quot; accountid=&quot;712020:34093935-4596-40a6-8e57-61b3f326b5b3&quot; rel=&quot;noreferrer&quot;&gt;Illia Daliek&lt;/a&gt; Couple of things:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;the story is about bulk edit not export&lt;/li&gt;
	&lt;li&gt;for the pilot program the errors should contain user barcode not the UUID as there is no way to search users by UUID in the UI&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Also, I&apos;m not sure what you mean by :&lt;blockquote&gt;&lt;p&gt;Invalid identifiers are logged (when processing the UUIDs file or record with id doesn&apos;t exist)&lt;/p&gt;&lt;/blockquote&gt;&lt;/p&gt;</comment>
                                                            <comment id="69084" author="712020:34093935-4596-40a6-8e57-61b3f326b5b3" created="Fri, 3 Dec 2021 13:26:46 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; class=&quot;user-hover&quot; rel=&quot;557058:8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; data-account-id=&quot;557058:8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; accountid=&quot;557058:8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; rel=&quot;noreferrer&quot;&gt;Magda Zacharska&lt;/a&gt;, export means exporting users to a CSV file for editing.&lt;br/&gt;
&quot;Invalid identifiers are logged&quot; means that we will also log the errors.&lt;/p&gt;

&lt;p&gt;Regarding barcodes, if the user wasn&apos;t found by UUID we cannot paste the barcode to the error log of a non-existent user because we cannot obtain this information in such a case.&lt;br/&gt;
If you&apos;d like to save errors using user barcode then we can do it only if the user by provided UUID exists. In the case of CSV file with barcodes, we can save errors with the barcode.&lt;/p&gt;</comment>
                                                            <comment id="69085" author="557058:8629b273-56f1-466d-b7c7-5cbac0c3379b" created="Tue, 11 Jan 2022 02:56:40 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63519767d66d8108a1226c09&quot; class=&quot;user-hover&quot; rel=&quot;63519767d66d8108a1226c09&quot; data-account-id=&quot;63519767d66d8108a1226c09&quot; accountid=&quot;63519767d66d8108a1226c09&quot; rel=&quot;noreferrer&quot;&gt;Viachaslau Khandramai&lt;/a&gt; please provide examples of the requests and responses for the implemented functionality.&lt;/p&gt;</comment>
                                                            <comment id="69086" author="63519767d66d8108a1226c09" created="Fri, 14 Jan 2022 11:26:48 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; class=&quot;user-hover&quot; rel=&quot;557058:8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; data-account-id=&quot;557058:8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; accountid=&quot;557058:8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; rel=&quot;noreferrer&quot;&gt;Magda Zacharska&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;verified on &lt;a href=&quot;https://folio-testing.dev.folio.org:&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-testing.dev.folio.org:&lt;/a&gt;&lt;br/&gt;
1) Create IDENTIFIERS job&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;
POST /data-export-spring/jobs HTTP/1.1
x-okapi-token: ${TOKEN}
x-okapi-tenant: diku
x-okapi-url: http:&lt;span class=&quot;code-comment&quot;&gt;//localhost:9130
&lt;/span&gt;Content-Type: application/json
User-Agent: PostmanRuntime/7.28.4
Accept: */*
Postman-Token: 8c059cdc-4fd1-4843-84e7-ba16c0049903
Host: folio-testing-okapi.dev.folio.org:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 108
 
{&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;BULK_EDIT_IDENTIFIERS&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;identifierType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;ID&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;entityType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;USER&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;exportTypeSpecificParameters&quot;&lt;/span&gt;:{}}
 
HTTP/1.1 201 Created
Date: Fri, 14 Jan 2022 09:09:43 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
vary: origin
 
{&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;c51ccc75-61b0-4f10-8dcd-11f3bac41bf2&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;000002&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;source&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;isSystemSource&quot;&lt;/span&gt;:&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;BULK_EDIT_IDENTIFIERS&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;exportTypeSpecificParameters&quot;&lt;/span&gt;:{},&lt;span class=&quot;code-quote&quot;&gt;&quot;status&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;SCHEDULED&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;metadata&quot;&lt;/span&gt;:{&lt;span class=&quot;code-quote&quot;&gt;&quot;createdDate&quot;&lt;/span&gt;:1642151383085,&lt;span class=&quot;code-quote&quot;&gt;&quot;createdByUserId&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;a282bb36-6134-5f9e-a718-60a4163305ed&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;createdByUsername&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedDate&quot;&lt;/span&gt;:1642151383085,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedByUserId&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;a282bb36-6134-5f9e-a718-60a4163305ed&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedByUsername&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;},&lt;span class=&quot;code-quote&quot;&gt;&quot;identifierType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;ID&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;entityType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;USER&quot;&lt;/span&gt;}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2) Upload file with barcodes  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;/rest/api/3/attachment/content/21212&quot; title=&quot;barcodes.csv attached to MODEXPW-51&quot; data-attachment-type=&quot;file&quot; data-attachment-name=&quot;barcodes.csv&quot; data-media-services-type=&quot;file&quot; data-media-services-id=&quot;8cc95d11-3b5f-46b6-aecc-dcb2256050f9&quot; rel=&quot;noreferrer&quot;&gt;barcodes.csv&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; : &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;/rest/api/3/attachment/content/21213&quot; title=&quot;c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv attached to MODEXPW-51&quot; data-attachment-type=&quot;file&quot; data-attachment-name=&quot;c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv&quot; data-media-services-type=&quot;file&quot; data-media-services-id=&quot;c705036c-3d7b-40e0-82f3-7cdd2dd76542&quot; rel=&quot;noreferrer&quot;&gt;c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; &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;
POST /bulk-edit/c51ccc75-61b0-4f10-8dcd-11f3bac41bf2/upload HTTP/1.1
x-okapi-token: ${TOKEN}
x-okapi-tenant: diku
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryViCyJ5CEqiFuOFKZ
Accept: */*
User-Agent: PostmanRuntime/7.28.4
Postman-Token: da5aba9e-22eb-456e-9a5c-59a56f7299dd
Host: folio-testing-okapi.dev.folio.org:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 202
 
------WebKitFormBoundaryViCyJ5CEqiFuOFKZ
Content-Disposition: form-data; name=&lt;span class=&quot;code-quote&quot;&gt;&quot;file&quot;&lt;/span&gt;; filename=&lt;span class=&quot;code-quote&quot;&gt;&quot;barcodes.csv&quot;&lt;/span&gt;
&amp;lt;barcodes.csv&amp;gt;
------WebKitFormBoundaryViCyJ5CEqiFuOFKZ--
 
HTTP/1.1 200 OK
Date: Fri, 14 Jan 2022 09:09:48 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
vary: origin
 
3
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;3) Retrieve job and download file by link from Amazon:&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;
GET /data-export-spring/jobs/c51ccc75-61b0-4f10-8dcd-11f3bac41bf2 HTTP/1.1
x-okapi-token: ${TOKEN}
x-okapi-tenant: diku
x-okapi-url: http:&lt;span class=&quot;code-comment&quot;&gt;//localhost:9130
&lt;/span&gt;Content-Type: text/plain
User-Agent: PostmanRuntime/7.28.4
Accept: */*
Postman-Token: b571ba01-2d91-43f0-b314-7dcf8470a5ff
Host: folio-testing-okapi.dev.folio.org:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 0
 
HTTP/1.1 200 OK
Date: Fri, 14 Jan 2022 09:09:51 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: close
vary: origin
 
{&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;c51ccc75-61b0-4f10-8dcd-11f3bac41bf2&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;000002&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;source&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;isSystemSource&quot;&lt;/span&gt;:&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;BULK_EDIT_IDENTIFIERS&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;exportTypeSpecificParameters&quot;&lt;/span&gt;:{},&lt;span class=&quot;code-quote&quot;&gt;&quot;status&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;SUCCESSFUL&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;files&quot;&lt;/span&gt;:[&lt;span class=&quot;code-quote&quot;&gt;&quot;https:&lt;span class=&quot;code-comment&quot;&gt;//folio-testing-export.s3.us-east-1.amazonaws.com/c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;amp;X-Amz-Credential=AKIA2VGNPE73JV77RBGE%2F20220114%2Fus-east-1%2Fs3%2Faws4_request&amp;amp;X-Amz-Date=20220114T090948Z&amp;amp;X-Amz-Expires=604800&amp;amp;X-Amz-SignedHeaders=host&amp;amp;X-Amz-Signature=8fcb588e9848870659d132805cb07cd073034ccea8691c170e889bcac575780c&quot;&lt;/span&gt;],&lt;span class=&quot;code-quote&quot;&gt;&quot;startTime&quot;&lt;/span&gt;:1642151388099,&lt;span class=&quot;code-quote&quot;&gt;&quot;endTime&quot;&lt;/span&gt;:1642151388562,&lt;span class=&quot;code-quote&quot;&gt;&quot;metadata&quot;&lt;/span&gt;:{&lt;span class=&quot;code-quote&quot;&gt;&quot;createdDate&quot;&lt;/span&gt;:1642151383085,&lt;span class=&quot;code-quote&quot;&gt;&quot;createdByUserId&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;a282bb36-6134-5f9e-a718-60a4163305ed&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;createdByUsername&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedDate&quot;&lt;/span&gt;:1642151388857,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedByUserId&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;a282bb36-6134-5f9e-a718-60a4163305ed&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedByUsername&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;},&lt;span class=&quot;code-quote&quot;&gt;&quot;identifierType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;ID&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;entityType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;USER&quot;&lt;/span&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Break file, for example, break some ID ( &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;/rest/api/3/attachment/content/21213&quot; title=&quot;c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv attached to MODEXPW-51&quot; data-attachment-type=&quot;file&quot; data-attachment-name=&quot;c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv&quot; data-media-services-type=&quot;file&quot; data-media-services-id=&quot;c705036c-3d7b-40e0-82f3-7cdd2dd76542&quot; rel=&quot;noreferrer&quot;&gt;c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; ):&lt;/p&gt;

&lt;p&gt;4) Post UPLOAD job:&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;
POST /data-export-spring/jobs HTTP/1.1
x-okapi-token: ${TOKEN}
x-okapi-tenant: diku
x-okapi-url: http:&lt;span class=&quot;code-comment&quot;&gt;//localhost:9130
&lt;/span&gt;Content-Type: application/json
User-Agent: PostmanRuntime/7.28.4
Accept: */*
Postman-Token: d982e2c2-2d9a-445c-94a6-8d43873fe15e
Host: folio-testing-okapi.dev.folio.org:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 108
 
{&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;BULK_EDIT_UPDATE&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;identifierType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;BARCODE&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;entityType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;USER&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;exportTypeSpecificParameters&quot;&lt;/span&gt;:{}}
 
HTTP/1.1 201 Created
Date: Fri, 14 Jan 2022 09:11:31 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
vary: origin
 
{&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;02ee2680-93fc-4357-847b-3823d08285b3&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;000003&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;source&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;isSystemSource&quot;&lt;/span&gt;:&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;BULK_EDIT_UPDATE&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;exportTypeSpecificParameters&quot;&lt;/span&gt;:{},&lt;span class=&quot;code-quote&quot;&gt;&quot;status&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;SCHEDULED&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;metadata&quot;&lt;/span&gt;:{&lt;span class=&quot;code-quote&quot;&gt;&quot;createdDate&quot;&lt;/span&gt;:1642151491799,&lt;span class=&quot;code-quote&quot;&gt;&quot;createdByUserId&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;a282bb36-6134-5f9e-a718-60a4163305ed&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;createdByUsername&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedDate&quot;&lt;/span&gt;:1642151491799,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedByUserId&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;a282bb36-6134-5f9e-a718-60a4163305ed&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedByUsername&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;},&lt;span class=&quot;code-quote&quot;&gt;&quot;identifierType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;BARCODE&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;entityType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;USER&quot;&lt;/span&gt;}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;5) Upload broken file:&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;
POST /bulk-edit/02ee2680-93fc-4357-847b-3823d08285b3/upload HTTP/1.1
x-okapi-token: ${TOKEN}
x-okapi-tenant: diku
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryViCyJ5CEqiFuOFKZ
Accept: */*
Accept-Encoding: gzip, deflate, br
User-Agent: PostmanRuntime/7.28.4
Postman-Token: d7e99d93-825f-493c-a91b-29b0d27a0056
Host: folio-testing-okapi.dev.folio.org:443
Connection: keep-alive
Content-Length: 1039
 
------WebKitFormBoundaryViCyJ5CEqiFuOFKZ
Content-Disposition: form-data; name=&lt;span class=&quot;code-quote&quot;&gt;&quot;file&quot;&lt;/span&gt;; filename=&lt;span class=&quot;code-quote&quot;&gt;&quot;c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv&quot;&lt;/span&gt;
&amp;lt;c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv&amp;gt;
------WebKitFormBoundaryViCyJ5CEqiFuOFKZ--
 
HTTP/1.1 200 OK
Date: Fri, 14 Jan 2022 09:11:50 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
vary: origin
 
3
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;6) Start UPLOAD job:&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;
POST /bulk-edit/02ee2680-93fc-4357-847b-3823d08285b3/start HTTP/1.1
x-okapi-token: ${TOKEN}
x-okapi-tenant: diku
Content-Type: application/json
Accept: */*
Accept-Encoding: gzip, deflate, br
User-Agent: PostmanRuntime/7.28.4
Postman-Token: 574b80fb-4b2c-48af-a728-3c9d64d5c994
Host: folio-testing-okapi.dev.folio.org:443
Connection: keep-alive
Content-Length: 202
 
HTTP/1.1 200 OK
Date: Fri, 14 Jan 2022 09:11:53 GMT
Transfer-Encoding: chunked
Connection: keep-alive
vary: origin&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;7) Get UPDATE job and download csv file with errors:&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;
GET /data-export-spring/jobs/02ee2680-93fc-4357-847b-3823d08285b3 HTTP/1.1
x-okapi-token: ${TOKEN}
x-okapi-tenant: diku
x-okapi-url: http:&lt;span class=&quot;code-comment&quot;&gt;//localhost:9130
&lt;/span&gt;Content-Type: text/plain
User-Agent: PostmanRuntime/7.28.4
Accept: */*
Postman-Token: ef8f54f6-2c19-43b0-9e43-8ca5d8bcba86
Host: folio-testing-okapi.dev.folio.org:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 0
 
HTTP/1.1 200 OK
Date: Fri, 14 Jan 2022 09:11:56 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: close
vary: origin
 
{&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;02ee2680-93fc-4357-847b-3823d08285b3&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;000003&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;source&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;isSystemSource&quot;&lt;/span&gt;:&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;BULK_EDIT_UPDATE&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;exportTypeSpecificParameters&quot;&lt;/span&gt;:{},&lt;span class=&quot;code-quote&quot;&gt;&quot;status&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;SUCCESSFUL&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;files&quot;&lt;/span&gt;:[&lt;span class=&quot;code-quote&quot;&gt;&quot;https:&lt;span class=&quot;code-comment&quot;&gt;//folio-testing-export.s3.us-east-1.amazonaws.com/2022-01-14-Errors-c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;amp;X-Amz-Credential=AKIA2VGNPE73JV77RBGE%2F20220114%2Fus-east-1%2Fs3%2Faws4_request&amp;amp;X-Amz-Date=20220114T091154Z&amp;amp;X-Amz-Expires=604800&amp;amp;X-Amz-SignedHeaders=host&amp;amp;X-Amz-Signature=cf0994605af4c8e4ced44f1b3666da057f0383d496380228e9bccfe58b09a30f&quot;&lt;/span&gt;],&lt;span class=&quot;code-quote&quot;&gt;&quot;startTime&quot;&lt;/span&gt;:1642151513780,&lt;span class=&quot;code-quote&quot;&gt;&quot;endTime&quot;&lt;/span&gt;:1642151513958,&lt;span class=&quot;code-quote&quot;&gt;&quot;metadata&quot;&lt;/span&gt;:{&lt;span class=&quot;code-quote&quot;&gt;&quot;createdDate&quot;&lt;/span&gt;:1642151491799,&lt;span class=&quot;code-quote&quot;&gt;&quot;createdByUserId&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;a282bb36-6134-5f9e-a718-60a4163305ed&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;createdByUsername&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedDate&quot;&lt;/span&gt;:1642151514100,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedByUserId&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;a282bb36-6134-5f9e-a718-60a4163305ed&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;updatedByUsername&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;diku_admin&quot;&lt;/span&gt;},&lt;span class=&quot;code-quote&quot;&gt;&quot;identifierType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;BARCODE&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;entityType&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;USER&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;progress&quot;&lt;/span&gt;:{&lt;span class=&quot;code-quote&quot;&gt;&quot;total&quot;&lt;/span&gt;:3,&lt;span class=&quot;code-quote&quot;&gt;&quot;processed&quot;&lt;/span&gt;:3,&lt;span class=&quot;code-quote&quot;&gt;&quot;progress&quot;&lt;/span&gt;:100}}&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Verify that file is available and it contains errors.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;8) Retrieve errors preview:&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;
GET /bulk-edit/02ee2680-93fc-4357-847b-3823d08285b3/errors?limit=10 HTTP/1.1
x-okapi-token: ${TOKEN}
x-okapi-tenant: diku
Content-Type: text/plain
User-Agent: PostmanRuntime/7.28.4
Accept: */*
Postman-Token: c71d310c-a93a-4d6f-bf4a-c75716555595
Host: folio-testing-okapi.dev.folio.org:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 0
 
HTTP/1.1 200 OK
Date: Fri, 14 Jan 2022 09:12:11 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: close
vary: origin
 
{&lt;span class=&quot;code-quote&quot;&gt;&quot;errors&quot;&lt;/span&gt;:[{&lt;span class=&quot;code-quote&quot;&gt;&quot;message&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;789,[400 Bad Request] during [PUT] to [http:&lt;span class=&quot;code-comment&quot;&gt;//users/b4cee18d-f862-4ef1-95a5-879fdd61960] [UserClient#updateUser(User_String)]: [Invalid UUID format of id_ should be xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx where M is 1-5 and N is 8_ 9_ a_ b_ A or B and x is 0-9_ a-f or A-F.]&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;BULK_EDIT_ERROR&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;code&quot;&lt;/span&gt;:&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;parameters&quot;&lt;/span&gt;:&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;}],&lt;span class=&quot;code-quote&quot;&gt;&quot;total_records&quot;&lt;/span&gt;:1}&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Verify that preview is available.&lt;/font&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="67906">UIBULKED-13</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10008">
                    <name>Defines</name>
                                            <outwardlinks description="defines">
                                        <issuelink>
            <issuekey id="12171">UXPROD-3318</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10006">
                    <name>Gantt End to Start</name>
                                                                <inwardlinks description="has to be done after">
                                        <issuelink>
            <issuekey id="30977">MODEXPW-45</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="30980">MODEXPW-46</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="79209">MODBULKED-2</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="21212" name="barcodes.csv" size="18" author="63519767d66d8108a1226c09" created="Fri, 14 Jan 2022 11:23:54 +0000"/>
                            <attachment id="21213" name="c51ccc75-61b0-4f10-8dcd-11f3bac41bf2_barcodes.csv" size="818" author="63519767d66d8108a1226c09" created="Fri, 14 Jan 2022 11:24:48 +0000"/>
                    </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="10152"><![CDATA[Firebird]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03cof:o</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="398">Firebird Sprint 130</customfieldvalue>
    <customfieldvalue id="399">Firebird Sprint 131</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10044" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 19 Nov 2021 00:30:33 +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>