<?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 Workbook Source Control in Splunk SOAR</title>
    <link>https://community.splunk.com/t5/Splunk-SOAR/Workbook-Source-Control/m-p/711951#M1678</link>
    <description>&lt;P&gt;Has anyone managed to set up source control for workbooks?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Pulling the information down via API to upload to gitlab is straightforward. You can run a get request against [base_url]/rest/workbook_template (&lt;A href="https://docs.splunk.com/Documentation/SOARonprem/6.3.1/PlatformAPI/RESTWorkbook#.2Frest.2Fworkbook_template" target="_blank"&gt;REST Workbook&lt;/A&gt;). The problem is with pushing information. As far as I've been able to find, you can only &lt;U&gt;create&lt;/U&gt; new phases or tasks. You're not able to specify via name or ID that you want to &lt;U&gt;update&lt;/U&gt;&amp;nbsp;an object. There's also no way I've found to&amp;nbsp;&lt;U&gt;delete&lt;/U&gt; a phase or task which would make creating a new one more reasonable.&lt;/P&gt;</description>
    <pubDate>Tue, 18 Feb 2025 21:35:11 GMT</pubDate>
    <dc:creator>SOARt_of_Lost</dc:creator>
    <dc:date>2025-02-18T21:35:11Z</dc:date>
    <item>
      <title>Workbook Source Control</title>
      <link>https://community.splunk.com/t5/Splunk-SOAR/Workbook-Source-Control/m-p/711951#M1678</link>
      <description>&lt;P&gt;Has anyone managed to set up source control for workbooks?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Pulling the information down via API to upload to gitlab is straightforward. You can run a get request against [base_url]/rest/workbook_template (&lt;A href="https://docs.splunk.com/Documentation/SOARonprem/6.3.1/PlatformAPI/RESTWorkbook#.2Frest.2Fworkbook_template" target="_blank"&gt;REST Workbook&lt;/A&gt;). The problem is with pushing information. As far as I've been able to find, you can only &lt;U&gt;create&lt;/U&gt; new phases or tasks. You're not able to specify via name or ID that you want to &lt;U&gt;update&lt;/U&gt;&amp;nbsp;an object. There's also no way I've found to&amp;nbsp;&lt;U&gt;delete&lt;/U&gt; a phase or task which would make creating a new one more reasonable.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Feb 2025 21:35:11 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-SOAR/Workbook-Source-Control/m-p/711951#M1678</guid>
      <dc:creator>SOARt_of_Lost</dc:creator>
      <dc:date>2025-02-18T21:35:11Z</dc:date>
    </item>
    <item>
      <title>Re: Workbook Source Control</title>
      <link>https://community.splunk.com/t5/Splunk-SOAR/Workbook-Source-Control/m-p/740959#M1688</link>
      <description>&lt;P&gt;I managed to get this sorted out. With the way SOAR handles IDs, it's easiest to update workbooks as a whole than trying to focus on specific phases or tasks. To that end, when pulling your workbooks, you'll want to get&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;[base_url]/workbook_template?page_size=0&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;[base_url]/workbook_phase_template?page_size=0.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Since they're stored separately you'll then want to stich the workbooks and phases together using the phases' &lt;EM&gt;template&lt;/EM&gt; value. This is the same as its parent workbook's &lt;EM&gt;ID&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;Including some fields in your push can cause SOAR to reject the changes (usually with a 404 error).&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Workbooks (the top level): name, description, is_default, is_note_required, phases.&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;Phases (the middle level): name, order, and tasks.&lt;/LI&gt;&lt;LI&gt;Tasks&amp;nbsp;(bottom level): name, description, order, owner, role, sla, and suggestions.&lt;/LI&gt;&lt;/UL&gt;&lt;H4&gt;&lt;STRONG&gt;Delete&lt;/STRONG&gt;&lt;/H4&gt;&lt;P&gt;I overcomplicated this for myself. A simple REST delete request to &lt;STRONG&gt;[base_url]/rest/workbook_template/[ID]&lt;/STRONG&gt; will delete the workbook.&lt;/P&gt;&lt;H4&gt;&lt;STRONG&gt;Create&lt;/STRONG&gt;&lt;/H4&gt;&lt;P&gt;Post your json with the required fields to &lt;STRONG&gt;[base_url]/rest/workbook_template&lt;/STRONG&gt;. It's important to note there is&amp;nbsp;&lt;EM&gt;no ID.&lt;/EM&gt;&lt;/P&gt;&lt;H4&gt;&lt;STRONG&gt;Update&lt;/STRONG&gt;&lt;/H4&gt;&lt;P&gt;Post your &lt;U&gt;full&lt;/U&gt; json with the required fields for the workbook you're changing to &lt;STRONG&gt;[base_url]/rest/workbook_template/[ID]&lt;/STRONG&gt;. SOAR is intelligent enough to recognize what the changes are and just update those pieces.&lt;/P&gt;</description>
      <pubDate>Wed, 05 Mar 2025 19:29:30 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-SOAR/Workbook-Source-Control/m-p/740959#M1688</guid>
      <dc:creator>SOARt_of_Lost</dc:creator>
      <dc:date>2025-03-05T19:29:30Z</dc:date>
    </item>
  </channel>
</rss>

