<?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>article How to manage load scripts in shared apps using GitHub and Qlik Application Automation in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-manage-load-scripts-in-shared-apps-using-GitHub-and-Qlik/ta-p/1937182</link>
    <description>&lt;P&gt;This article explains how an automation can be built that'll use GitHub to manage load scripts from shared apps.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Before you begin, you'll need the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Qlik Sense app in a shared space&lt;/LI&gt;
&lt;LI&gt;GitHub repository with a copy of the shared app's load script as a text file&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Steps:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;The following steps describe how to build the demo automation. You can also find an exported version of this automation attached to this article as "Shared-app-load-script-management.json".&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Configure a new automation to be webhook triggered on every new pull request in the GitHub repo.&lt;BR /&gt;
&lt;P&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="On Pull Request.png" style="width: 658px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/105834i89CB3FD6D8EC2DDD/image-size/large?v=v2&amp;amp;px=999" role="button" title="On Pull Request.png" alt="On Pull Request.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Get the load script from the file. In this example, there's only one file so the first file from the &lt;STRONG&gt;List Pull Request Files&lt;/STRONG&gt; block is used. If you have multiple files, use the&lt;STRONG&gt; Lookup Item In List&lt;/STRONG&gt; block to find a specific file.&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Get File Content.png" style="width: 745px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/105835i0D43C2D6E4D6C449/image-size/large?v=v2&amp;amp;px=999" role="button" title="Get File Content.png" alt="Get File Content.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Use the &lt;STRONG&gt;Get App Information&lt;/STRONG&gt; block to get basic info about the shared app. The app ID returned by this block can then be used in other blocks so we don't have to configure this in multiple places.&lt;/LI&gt;
&lt;LI&gt;Create a new (temporary) app and set the load script from the pull request as this app's load script. When retrieving files from GitHub, they're base64 encoded by default. Use the Base64 Decode formula from the formula picker to decode the file's content before setting the load script.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Set Load Script.png" style="width: 739px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/105837i9120BFB5836A2119/image-size/large?v=v2&amp;amp;px=999" role="button" title="Set Load Script.png" alt="Set Load Script.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Reload &amp;amp; delete the temporary app and evaluate the reload's outcome:
&lt;OL&gt;
&lt;LI&gt;If the reload is successful, set this version of the load script as the shared app's load script and reload the shared app.&lt;/LI&gt;
&lt;LI&gt;If the reload fails, alert your team.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Reload Outcome Workflow.png" style="width: 652px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/105838i11C979A2F026D0ED/image-size/large?v=v2&amp;amp;px=999" role="button" title="Reload Outcome Workflow.png" alt="Reload Outcome Workflow.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Bonus:&lt;/STRONG&gt;&lt;/FONT&gt; you can use the blocks&amp;nbsp;&lt;STRONG&gt;Add Pull Request Review&lt;/STRONG&gt;&amp;nbsp;and&amp;nbsp;&lt;STRONG&gt;Merge Pull Request&amp;nbsp;&lt;/STRONG&gt;blocks&amp;nbsp;to approve and merge the pull request if the reload succeeded.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Add Pull Request Review and Merge Pull Request.png" style="width: 751px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/105839iF8BD1F0756260EEB/image-size/large?v=v2&amp;amp;px=999" role="button" title="Add Pull Request Review and Merge Pull Request.png" alt="Add Pull Request Review and Merge Pull Request.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P style="font-style: italic;"&gt;The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Related Content&lt;/FONT&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;A href="https://community.qlik.com/t5/Knowledge/Github-How-to-get-started-with-Github-in-Automations/ta-p/1840171" target="_blank" rel="noopener"&gt;How to get started with GitHub in Qlik Application Automation&lt;/A&gt;&lt;BR /&gt;&lt;A style="background-color: #ffffff;" href="https://community.qlik.com/t5/Knowledge/CI-CD-pipelines-for-Qlik-Sense-apps-with-automations-and-Github/ta-p/1860837" target="_blank" rel="noopener"&gt;CI/CD pipelines for Qlik Sense apps and Qlik Application Automation&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 26 Apr 2023 06:47:02 GMT</pubDate>
    <dc:creator>Emile_Koslowski</dc:creator>
    <dc:date>2023-04-26T06:47:02Z</dc:date>
    <item>
      <title>How to manage load scripts in shared apps using GitHub and Qlik Application Automation</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-manage-load-scripts-in-shared-apps-using-GitHub-and-Qlik/ta-p/1937182</link>
      <description>&lt;P&gt;This article explains how an automation can be built that'll use GitHub to manage load scripts from shared apps.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Before you begin, you'll need the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Qlik Sense app in a shared space&lt;/LI&gt;
&lt;LI&gt;GitHub repository with a copy of the shared app's load script as a text file&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Steps:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;The following steps describe how to build the demo automation. You can also find an exported version of this automation attached to this article as "Shared-app-load-script-management.json".&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Configure a new automation to be webhook triggered on every new pull request in the GitHub repo.&lt;BR /&gt;
&lt;P&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="On Pull Request.png" style="width: 658px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/105834i89CB3FD6D8EC2DDD/image-size/large?v=v2&amp;amp;px=999" role="button" title="On Pull Request.png" alt="On Pull Request.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Get the load script from the file. In this example, there's only one file so the first file from the &lt;STRONG&gt;List Pull Request Files&lt;/STRONG&gt; block is used. If you have multiple files, use the&lt;STRONG&gt; Lookup Item In List&lt;/STRONG&gt; block to find a specific file.&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Get File Content.png" style="width: 745px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/105835i0D43C2D6E4D6C449/image-size/large?v=v2&amp;amp;px=999" role="button" title="Get File Content.png" alt="Get File Content.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Use the &lt;STRONG&gt;Get App Information&lt;/STRONG&gt; block to get basic info about the shared app. The app ID returned by this block can then be used in other blocks so we don't have to configure this in multiple places.&lt;/LI&gt;
&lt;LI&gt;Create a new (temporary) app and set the load script from the pull request as this app's load script. When retrieving files from GitHub, they're base64 encoded by default. Use the Base64 Decode formula from the formula picker to decode the file's content before setting the load script.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Set Load Script.png" style="width: 739px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/105837i9120BFB5836A2119/image-size/large?v=v2&amp;amp;px=999" role="button" title="Set Load Script.png" alt="Set Load Script.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Reload &amp;amp; delete the temporary app and evaluate the reload's outcome:
&lt;OL&gt;
&lt;LI&gt;If the reload is successful, set this version of the load script as the shared app's load script and reload the shared app.&lt;/LI&gt;
&lt;LI&gt;If the reload fails, alert your team.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Reload Outcome Workflow.png" style="width: 652px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/105838i11C979A2F026D0ED/image-size/large?v=v2&amp;amp;px=999" role="button" title="Reload Outcome Workflow.png" alt="Reload Outcome Workflow.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Bonus:&lt;/STRONG&gt;&lt;/FONT&gt; you can use the blocks&amp;nbsp;&lt;STRONG&gt;Add Pull Request Review&lt;/STRONG&gt;&amp;nbsp;and&amp;nbsp;&lt;STRONG&gt;Merge Pull Request&amp;nbsp;&lt;/STRONG&gt;blocks&amp;nbsp;to approve and merge the pull request if the reload succeeded.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Add Pull Request Review and Merge Pull Request.png" style="width: 751px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/105839iF8BD1F0756260EEB/image-size/large?v=v2&amp;amp;px=999" role="button" title="Add Pull Request Review and Merge Pull Request.png" alt="Add Pull Request Review and Merge Pull Request.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P style="font-style: italic;"&gt;The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Related Content&lt;/FONT&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;A href="https://community.qlik.com/t5/Knowledge/Github-How-to-get-started-with-Github-in-Automations/ta-p/1840171" target="_blank" rel="noopener"&gt;How to get started with GitHub in Qlik Application Automation&lt;/A&gt;&lt;BR /&gt;&lt;A style="background-color: #ffffff;" href="https://community.qlik.com/t5/Knowledge/CI-CD-pipelines-for-Qlik-Sense-apps-with-automations-and-Github/ta-p/1860837" target="_blank" rel="noopener"&gt;CI/CD pipelines for Qlik Sense apps and Qlik Application Automation&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Apr 2023 06:47:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/How-to-manage-load-scripts-in-shared-apps-using-GitHub-and-Qlik/ta-p/1937182</guid>
      <dc:creator>Emile_Koslowski</dc:creator>
      <dc:date>2023-04-26T06:47:02Z</dc:date>
    </item>
  </channel>
</rss>

