<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Do not break foreach loop when API fails in Workato Pros Discussion Board</title>
    <link>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3971#M1833</link>
    <description>&lt;P&gt;Ruby exception handling is unfortunately also not supported in the SDK-Code.&lt;/P&gt;</description>
    <pubDate>Tue, 28 Feb 2023 09:33:46 GMT</pubDate>
    <dc:creator>chris-wiechmann</dc:creator>
    <dc:date>2023-02-28T09:33:46Z</dc:date>
    <item>
      <title>Do not break foreach loop when API fails</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3933#M1816</link>
      <description>&lt;P&gt;Issue is inside custom connector ruby code.&lt;/P&gt;&lt;P&gt;Context: I have a list of companies in an array then I am using .each method to loop every company and then hitting an api call on every company.&lt;/P&gt;&lt;P&gt;Problem: Now one api call is failed for a company and code breaks. I don't want code to break, instead I want loop to continue as we use try catch in many languages to prevent breaking of loop. How to acheive the same in Custom Connector SDK using ruby.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Feb 2023 13:25:30 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3933#M1816</guid>
      <dc:creator>bhavesh-patel</dc:creator>
      <dc:date>2023-02-23T13:25:30Z</dc:date>
    </item>
    <item>
      <title>Re: Do not break foreach loop when API fails</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3935#M1818</link>
      <description>&lt;P&gt;My API call is as below:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;company_ids&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;each&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/SPAN&gt;&lt;SPAN&gt;company_id&lt;/SPAN&gt;&lt;SPAN&gt;|&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;puts&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"company_id: &lt;/SPAN&gt;&lt;SPAN&gt;#{&lt;/SPAN&gt;&lt;SPAN&gt;company_id&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;companyobject&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;post&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;#{&lt;/SPAN&gt;&lt;SPAN&gt;base_url&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;/api/v2/labor-model/location/&lt;/SPAN&gt;&lt;SPAN&gt;#{&lt;/SPAN&gt;&lt;SPAN&gt;company_id&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;/run"&lt;/SPAN&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;SPAN&gt;payload&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;start:&lt;/SPAN&gt;&lt;SPAN&gt;start_unix&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;end:&lt;/SPAN&gt;&lt;SPAN&gt;end_unix&lt;/SPAN&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;SPAN&gt;headers&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Authorization"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;auth_header&lt;/SPAN&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;after_error_response&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;400&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;401&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;404&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;417&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;500&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;do&lt;/SPAN&gt;&lt;SPAN&gt; |&lt;/SPAN&gt;&lt;SPAN&gt;code&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;header&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;message&lt;/SPAN&gt;&lt;SPAN&gt;|&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;error&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;#{&lt;/SPAN&gt;&lt;SPAN&gt;message&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;#{&lt;/SPAN&gt;&lt;SPAN&gt;body&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;end&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;puts&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"companyobject: &lt;/SPAN&gt;&lt;SPAN&gt;#{&lt;/SPAN&gt;&lt;SPAN&gt;companyobject&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 23 Feb 2023 14:15:55 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3935#M1818</guid>
      <dc:creator>bhavesh-patel</dc:creator>
      <dc:date>2023-02-23T14:15:55Z</dc:date>
    </item>
    <item>
      <title>Re: Do not break foreach loop when API fails</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3964#M1828</link>
      <description>&lt;P&gt;Hey&amp;nbsp;&lt;a href="https://systematic.workato.com/t5/user/viewprofilepage/user-id/4313"&gt;@bhavesh-patel&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;I think this page on ruby loops could be helpful for you:&amp;nbsp;&lt;A href="https://www.tutorialspoint.com/ruby/ruby_loops.htm" target="_blank"&gt;https://www.tutorialspoint.com/ruby/ruby_loops.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You can also find more variations of 'each' here:&amp;nbsp;&lt;A href="https://docs.workato.com/developing-connectors/sdk/sdk-reference/ruby_methods.html#each" target="_blank"&gt;https://docs.workato.com/developing-connectors/sdk/sdk-reference/ruby_methods.html#each&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Please let me know if you find your solution within those pages!&lt;/P&gt;
&lt;P&gt;Cheers,&lt;BR /&gt;Meghan&lt;/P&gt;</description>
      <pubDate>Mon, 27 Feb 2023 15:36:33 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3964#M1828</guid>
      <dc:creator>meghan-legaspi</dc:creator>
      <dc:date>2023-02-27T15:36:33Z</dc:date>
    </item>
    <item>
      <title>Re: Do not break foreach loop when API fails</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3965#M1829</link>
      <description>&lt;P&gt;I'm not sure if begin/rescue or catch/throw are supported in a custom connector, but you should give them a try. They aren't supported in the Ruby recipe connector (I tried and confirmed with Workato support) but the connector SDK tends to have broader Ruby support.&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.geeksforgeeks.org/ruby-exception-handling/" target="_blank"&gt;https://www.geeksforgeeks.org/ruby-exception-handling/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Here's an example:&lt;/P&gt;&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="terminal,monaco" size="2"&gt;companies.each { | company |&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;x = {}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp; &amp;nbsp;begin&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; x.split(';') # example that will throw error&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; # put your API call here&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp; &amp;nbsp;rescue&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts "error is skipped"&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp; &amp;nbsp;end&lt;BR /&gt;}&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Feb 2023 16:58:45 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3965#M1829</guid>
      <dc:creator>gary1</dc:creator>
      <dc:date>2023-02-27T16:58:45Z</dc:date>
    </item>
    <item>
      <title>Re: Do not break foreach loop when API fails</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3971#M1833</link>
      <description>&lt;P&gt;Ruby exception handling is unfortunately also not supported in the SDK-Code.&lt;/P&gt;</description>
      <pubDate>Tue, 28 Feb 2023 09:33:46 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/3971#M1833</guid>
      <dc:creator>chris-wiechmann</dc:creator>
      <dc:date>2023-02-28T09:33:46Z</dc:date>
    </item>
    <item>
      <title>Re: Do not break foreach loop when API fails</title>
      <link>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/4003#M1850</link>
      <description>&lt;P&gt;There is no support for exception handling so I have move this code on the recipe level and then I used repeat action in a parent recipe on my company array and then every action goes to a child recipe where I use monitor block of recipe to handle exception from API. Then I move every error into lookup table.&lt;/P&gt;</description>
      <pubDate>Mon, 06 Mar 2023 05:11:16 GMT</pubDate>
      <guid>https://systematic.workato.com/t5/workato-pros-discussion-board/do-not-break-foreach-loop-when-api-fails/m-p/4003#M1850</guid>
      <dc:creator>bhavesh-patel</dc:creator>
      <dc:date>2023-03-06T05:11:16Z</dc:date>
    </item>
  </channel>
</rss>

