diff --git a/blog-csoar/2025-09-10-application-update.md b/blog-csoar/2025-09-10-application-update.md new file mode 100644 index 0000000000..d380021660 --- /dev/null +++ b/blog-csoar/2025-09-10-application-update.md @@ -0,0 +1,22 @@ +--- +title: September 10, 2025 - Application Update +hide_table_of_contents: true +image: https://help.sumologic.com/img/reuse/rss-image.jpg +keywords: + - automation service + - cloud soar + - soar +--- + +import useBaseUrl from '@docusaurus/useBaseUrl'; + +### New feature: Test nodes in playbooks + +The new **Test Node** toggle on nodes allows you to test individual nodes in playbooks without having to run the entire playbook, offering greater control over node configuration and troubleshooting. + +What's new: +* Provide mock values for variables used in the node, and run the results to see the output and any errors. +* Available on action, condition, user choice, and task nodes. (It is not available on filter or nested playbook nodes.) +* Testing nodes counts against your [action limit](/docs/platform-services/automation-service/about-automation-service/#actions-limit) quota. + +For more information, see [Test nodes in a playbook](/docs/platform-services/automation-service/automation-service-playbooks/#test-nodes-in-a-playbook). diff --git a/docs/platform-services/automation-service/automation-service-playbooks.md b/docs/platform-services/automation-service/automation-service-playbooks.md index 2cbbcf2485..0fb44bcd57 100644 --- a/docs/platform-services/automation-service/automation-service-playbooks.md +++ b/docs/platform-services/automation-service/automation-service-playbooks.md @@ -9,7 +9,6 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; import ActionsLimit from '../../reuse/actions-limit.md'; import CartesianProduct from '../../reuse/cartesian-product.md'; -A playbook is a predefined set of actions and conditional statements that run in an automated workflow to respond to a certain event or incident type. Playbooks can allow your organization's teams to respond to an incident in a consistent, focused, and repeatable fashion. Playbooks can be configured to execute automatically without user intervention, acting on information from the incident, or can be executed in interactive mode, where user input is required to authorize predefined actions. @@ -275,7 +274,38 @@ With the mechanism to import and export playbooks, you can move a playbook, alon It is crucial that the file names inside the tar.gz adhere to the following format: `...`, for example, `97ad7d6e.IP-Reputation.action.yaml` -## Test a playbook +## Run tests on playbooks + +### Test nodes in a playbook + +The playbook **Test Node** toggle lets you test individual nodes of a playbook without needing to complete the entire flow. Testing individual nodes helps you improve your playbooks' reliability and shorten configuration time. You can provide mock values for variables used in the node, and run the results to see the output and any errors. The results provide informative messages to help you troubleshoot problems. + +When you test nodes, keep in mind: +* You can test action, condition, user choice, and task nodes. You cannot test filter or nested playbook nodes. +* A single-node test does not execute downstream nodes. Only the selected node runs using the provided input. You cannot view the previous or past test node run executions. +* Invalid JSON or missing required fields will block the test and show an error in the **Output** panel. +* Before you can test a node, any node configuration changes need to be saved to the playbook draft. When you test a node, clicking **SAVE & RUN TEST** saves the node configuration to the same draft before executing. +* Testing nodes counts against your [action limit](/docs/platform-services/automation-service/about-automation-service/#actions-limit) quota. + +To test a node: +1. Select a playbook. +1. Click the **Edit** button at the bottom of the screen to make a draft of the playbook. +1. Click the **Edit** button on a node. +1. Click the **Test Node** toggle at the top of the **Edit Node** dialog. An **Input** panel appears to the left, and an **Output** panel appears to the right.
Playbook Test Node toggle +1. In the **Input** panel, enter variables to test the node. When you click **SAVE & RUN TEST**, results of the test appear in the **Output** panel.
Ensure that you enter valid variables for the kind of inputs you need to test. Following are examples with different node types: + * **Action**
In the following example that uses input from insights, we provide an insight ID. The output shows the result of the action.
Action node test variables + * **Condition**
In the following example that uses input from reputation vendors, we provide reputation scores. The output shows the result of the condition.
Condition node test variables + * **User choice**
In the following example that uses user input data, we provide an email address. The output provides the resulting user choice. Click the user choice options to test whether they work as expected.
User choice node test variables + * **Task**
In the following example that uses incident input data, we provide a mock template name. The output provides the resulting task. Click the task options to test whether they work as expected.
Task node test variables +1. Examine the results in the **Output** panel and take any action needed to troubleshoot node operation: + * Click the information button Playbook Test Node JSON info button to see information on the test run:
Playbook Test Node info + * Click the **JSON details** button Playbook Test Node JSON details button to see the JSON output:
Playbook Test Node JSON details +1. Continue testing the node and making changes as needed in the node's configuration. When done, click **Save**. +1. Test each node in your playbook that has the **Test Node** button (action, condition, user choice, and task). In each node, enter variables in the **Input** panel and examine the results in the **Output** panel to ensure the node works correctly. + +After you're done testing individual nodes, test the entire playbook to ensure it runs end-to-end (see [Test a playbook](#test-a-playbook)). + +### Test a playbook You can test a playbook to verify that it works properly. The test results show the outcome as if the playbook actually ran. diff --git a/static/img/platform-services/automation-service/playbook-test-node-condition.png b/static/img/platform-services/automation-service/playbook-test-node-condition.png new file mode 100644 index 0000000000..2bd5b72b6b Binary files /dev/null and b/static/img/platform-services/automation-service/playbook-test-node-condition.png differ diff --git a/static/img/platform-services/automation-service/playbook-test-node-info-button.png b/static/img/platform-services/automation-service/playbook-test-node-info-button.png new file mode 100644 index 0000000000..0ab69f6516 Binary files /dev/null and b/static/img/platform-services/automation-service/playbook-test-node-info-button.png differ diff --git a/static/img/platform-services/automation-service/playbook-test-node-info-icon.png b/static/img/platform-services/automation-service/playbook-test-node-info-icon.png new file mode 100644 index 0000000000..d266db5f74 Binary files /dev/null and b/static/img/platform-services/automation-service/playbook-test-node-info-icon.png differ diff --git a/static/img/platform-services/automation-service/playbook-test-node-json-details-icon.png b/static/img/platform-services/automation-service/playbook-test-node-json-details-icon.png new file mode 100644 index 0000000000..96a5212425 Binary files /dev/null and b/static/img/platform-services/automation-service/playbook-test-node-json-details-icon.png differ diff --git a/static/img/platform-services/automation-service/playbook-test-node-json-details.png b/static/img/platform-services/automation-service/playbook-test-node-json-details.png new file mode 100644 index 0000000000..bd99e6f474 Binary files /dev/null and b/static/img/platform-services/automation-service/playbook-test-node-json-details.png differ diff --git a/static/img/platform-services/automation-service/playbook-test-node-table-details-icon.png b/static/img/platform-services/automation-service/playbook-test-node-table-details-icon.png new file mode 100644 index 0000000000..6541111fd9 Binary files /dev/null and b/static/img/platform-services/automation-service/playbook-test-node-table-details-icon.png differ diff --git a/static/img/platform-services/automation-service/playbook-test-node-task.png b/static/img/platform-services/automation-service/playbook-test-node-task.png new file mode 100644 index 0000000000..494019bbc6 Binary files /dev/null and b/static/img/platform-services/automation-service/playbook-test-node-task.png differ diff --git a/static/img/platform-services/automation-service/playbook-test-node-toggle.png b/static/img/platform-services/automation-service/playbook-test-node-toggle.png new file mode 100644 index 0000000000..b7c404c5fd Binary files /dev/null and b/static/img/platform-services/automation-service/playbook-test-node-toggle.png differ diff --git a/static/img/platform-services/automation-service/playbook-test-node-user-choice.png b/static/img/platform-services/automation-service/playbook-test-node-user-choice.png new file mode 100644 index 0000000000..e1edba58f8 Binary files /dev/null and b/static/img/platform-services/automation-service/playbook-test-node-user-choice.png differ diff --git a/static/img/platform-services/automation-service/playbook-test-node-variables.png b/static/img/platform-services/automation-service/playbook-test-node-variables.png new file mode 100644 index 0000000000..5d384f5741 Binary files /dev/null and b/static/img/platform-services/automation-service/playbook-test-node-variables.png differ