From be7f7c49823f684569aa7d4e85b355a8df170c76 Mon Sep 17 00:00:00 2001 From: yrosenberg Date: Mon, 12 May 2025 16:54:31 +0300 Subject: [PATCH 1/8] init --- docs/integrations/dynamic-ui-fields.md | 63 ++++++++++++++++++++++++++ sidebars.js | 2 + 2 files changed, 65 insertions(+) create mode 100644 docs/integrations/dynamic-ui-fields.md diff --git a/docs/integrations/dynamic-ui-fields.md b/docs/integrations/dynamic-ui-fields.md new file mode 100644 index 000000000..749a7b34a --- /dev/null +++ b/docs/integrations/dynamic-ui-fields.md @@ -0,0 +1,63 @@ +# Advanced Integration Configuration: Parameter Order and Dynamic Features + +This guide outlines new features for integrations: controlling parameter order, the `engine_placeholder` field (type 23), and the `triggers` section. These enhancements improve user experience and enable more dynamic configuration. + +## 1. Parameter Order Control + +The order of parameters in the YAML file determines their display order in the user interface. This applies to standard parameters only; built-in parameters, such as `Log Level` and the `Do Not Use by Default` checkbox ,and other system parameters, , are static and cannot be repositioned. An exception is made for the `engine` dropdown, as detailed below. + +## 2. Specifying Engine Location (Type 23) + +The `engine` dropdown's location in the user interface is now explicitly defined using the `engine_placeholder` field (type 23). This replaces the previous implicit handling. Built-in parameters such as `log_level` remain static and cannot be repositioned. Positioning the `engine` dropdown is achieved by placing the `engine_placeholder` within the YAML configuration. The `engine` dropdown will then appear at the `engine_placeholder`'s location. + +**YAML Structure:** + +```yaml +- name: engine_placeholder + type: 23 + section: Connect +``` + +**Important Note:** This functionality requires a compatible UI version. Using `engine_placeholder` in an outdated UI will create a non-functional parameter with the name `engine_placeholder`. + + +## 3. Implementing Dynamic Behavior with Triggers +The `triggers` section enables dynamic UI behavior based on user input. Define conditions and effects to control the visibility (`hidden`) and required status (`required`) of UI elements. + +**YAML Structure:** + +```yaml +triggers: + - conditions: + - name: # Field whose value determines the effect + operator: # (exists, not_exists, equals, not_equals) + value: # Value to compare against (required only for equals/not_equals) + effects: + - name: # Field whose properties are modified + action: + required: # Set to true to make the field required, false otherwise + required: true # Makes the field mandatory if the condition is met + # hidden: Could also be used here to hide/show the field. + # Other UI actions are also possible. +``` + +**Example:** Hide the `token` field if the `username` field has a value: + +```yaml +triggers: + - conditions: + - name: username + operator: exists + effects: + - name: token + action: + hidden: true +``` + +The example demonstrates how to dynamically hide UI elements based on the existence of a username. This prevents unnecessary display of the token field and avoids confusion. + +**Note:** Multiple conditions within a trigger use an "AND" relationship; all conditions must be true for the effect to apply. + + + +For a complete example, see the generic webhook integration. diff --git a/sidebars.js b/sidebars.js index f47812037..97b7dad03 100644 --- a/sidebars.js +++ b/sidebars.js @@ -160,6 +160,8 @@ const sidebars = { "integrations/yml-from-python-code-gen", "integrations/fetch-incidents-lookback", "integrations/Trust-any-certificate", + "integrations/dynamic-ui-fields" + ] } ] From 6d0f1a168dfa5844439a9169cbd90b5b8cfe97ce Mon Sep 17 00:00:00 2001 From: yrosenberg Date: Tue, 13 May 2025 14:20:33 +0300 Subject: [PATCH 2/8] change head line --- docs/integrations/dynamic-ui-fields.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/dynamic-ui-fields.md b/docs/integrations/dynamic-ui-fields.md index 749a7b34a..e0d39d9b2 100644 --- a/docs/integrations/dynamic-ui-fields.md +++ b/docs/integrations/dynamic-ui-fields.md @@ -1,4 +1,4 @@ -# Advanced Integration Configuration: Parameter Order and Dynamic Features +# Dynamic UI and Parameter Management for Integrations This guide outlines new features for integrations: controlling parameter order, the `engine_placeholder` field (type 23), and the `triggers` section. These enhancements improve user experience and enable more dynamic configuration. From be5d7fb2a46a6d75a2839df5ec839331a673f6bc Mon Sep 17 00:00:00 2001 From: yrosenberg Date: Thu, 15 May 2025 17:33:26 +0300 Subject: [PATCH 3/8] cr --- docs/integrations/dynamic-ui-fields.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/integrations/dynamic-ui-fields.md b/docs/integrations/dynamic-ui-fields.md index e0d39d9b2..17098cf5e 100644 --- a/docs/integrations/dynamic-ui-fields.md +++ b/docs/integrations/dynamic-ui-fields.md @@ -4,11 +4,11 @@ This guide outlines new features for integrations: controlling parameter order, ## 1. Parameter Order Control -The order of parameters in the YAML file determines their display order in the user interface. This applies to standard parameters only; built-in parameters, such as `Log Level` and the `Do Not Use by Default` checkbox ,and other system parameters, , are static and cannot be repositioned. An exception is made for the `engine` dropdown, as detailed below. +The order of parameters in the YAML file determines their display order in the user interface. This applies to standard parameters only; built-in parameters, such as `Log Level` and the `Do Not Use by Default` checkbox ,and other system parameters, are static and cannot be repositioned. An exception is made for the `engine` dropdown, as detailed below. ## 2. Specifying Engine Location (Type 23) -The `engine` dropdown's location in the user interface is now explicitly defined using the `engine_placeholder` field (type 23). This replaces the previous implicit handling. Built-in parameters such as `log_level` remain static and cannot be repositioned. Positioning the `engine` dropdown is achieved by placing the `engine_placeholder` within the YAML configuration. The `engine` dropdown will then appear at the `engine_placeholder`'s location. +The `engine` dropdown's location in the user interface is now explicitly defined using the `engine_placeholder` field (type 23). This replaces the previous implicit handling. Built-in parameters such as `log_level` remain static and cannot be repositioned. Positioning the `engine` dropdown is achieved by placing the `engine_placeholder` within the YAML configuration. The `engine` dropdown then appears at the `engine_placeholder`'s location. **YAML Structure:** @@ -22,7 +22,7 @@ The `engine` dropdown's location in the user interface is now explicitly defined ## 3. Implementing Dynamic Behavior with Triggers -The `triggers` section enables dynamic UI behavior based on user input. Define conditions and effects to control the visibility (`hidden`) and required status (`required`) of UI elements. +The `triggers` section enables dynamic UI behavior based on user input and enables you to define conditions and effects to control the visibility (`hidden`) and required status (`required`) of UI elements. **YAML Structure:** @@ -37,7 +37,7 @@ triggers: action: required: # Set to true to make the field required, false otherwise required: true # Makes the field mandatory if the condition is met - # hidden: Could also be used here to hide/show the field. + # hidden: Can also be used here to hide/show the field. # Other UI actions are also possible. ``` From 6cb52a560b64d622144942934a9ad40cedce3f33 Mon Sep 17 00:00:00 2001 From: Tamar Schanfeld <76044549+tschanfeld@users.noreply.github.com> Date: Tue, 10 Jun 2025 04:10:52 -0700 Subject: [PATCH 4/8] Update dynamic-ui-fields.md edited the note re: UI version --- docs/integrations/dynamic-ui-fields.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/dynamic-ui-fields.md b/docs/integrations/dynamic-ui-fields.md index 17098cf5e..dcb18ca70 100644 --- a/docs/integrations/dynamic-ui-fields.md +++ b/docs/integrations/dynamic-ui-fields.md @@ -18,7 +18,7 @@ The `engine` dropdown's location in the user interface is now explicitly defined section: Connect ``` -**Important Note:** This functionality requires a compatible UI version. Using `engine_placeholder` in an outdated UI will create a non-functional parameter with the name `engine_placeholder`. +**Important Note:** This functionality is not currently available for Cortex XSOAR 6.x. Using `engine_placeholder` in Cortex XSOAR 6.x UI will create a non-functional parameter with the name `engine_placeholder`. ## 3. Implementing Dynamic Behavior with Triggers From c4f4e5ecf1d3e594a8189fed21b08adfa23da358 Mon Sep 17 00:00:00 2001 From: yrosenberg Date: Thu, 12 Jun 2025 18:01:46 +0300 Subject: [PATCH 5/8] fix names --- docs/integrations/dynamic-ui-fields.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/integrations/dynamic-ui-fields.md b/docs/integrations/dynamic-ui-fields.md index dcb18ca70..972b73c9e 100644 --- a/docs/integrations/dynamic-ui-fields.md +++ b/docs/integrations/dynamic-ui-fields.md @@ -30,8 +30,8 @@ The `triggers` section enables dynamic UI behavior based on user input and enabl triggers: - conditions: - name: # Field whose value determines the effect - operator: # (exists, not_exists, equals, not_equals) - value: # Value to compare against (required only for equals/not_equals) + operator: # (exists, not_exists, equal, not_equal) + value: # Value to compare against (required only for equal/not_equal) effects: - name: # Field whose properties are modified action: From 76728057fe68ce41e58cc18651f604982405cd5f Mon Sep 17 00:00:00 2001 From: julieschwartz18 <91824591+julieschwartz18@users.noreply.github.com> Date: Tue, 3 Jun 2025 10:49:01 +0300 Subject: [PATCH 6/8] Update dev-setup.md (#1746) Under Bootstrap, added a step for running the poetry self add poetry-plugin-shell script --- docs/concepts/dev-setup.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/concepts/dev-setup.md b/docs/concepts/dev-setup.md index 8e0fce333..97d4a8857 100644 --- a/docs/concepts/dev-setup.md +++ b/docs/concepts/dev-setup.md @@ -82,6 +82,12 @@ Run the [`bootstrap`](https://github.com/demisto/content/blob/master/.hooks/boot .hooks/bootstrap ``` +After the bootstrap script completes, install an extra [`plugin`](https://github.com/python-poetry/poetry-plugin-shell) to get poetry shell to work by running: + +```bash +poetry self add poetry-plugin-shell +``` + After the script completes, you can activate the newly created virtual environment by running: ```bash From bc605acb4d88c4d66cfece87dd041a346b9d62f5 Mon Sep 17 00:00:00 2001 From: yrosenberg Date: Thu, 3 Jul 2025 14:54:22 +0300 Subject: [PATCH 7/8] Empty commit From 01c1af9d9a1030c0fb6b0c18a28fe2349139cc2e Mon Sep 17 00:00:00 2001 From: Yuval Hayun <70104171+YuvHayun@users.noreply.github.com> Date: Thu, 17 Jul 2025 14:00:35 +0300 Subject: [PATCH 8/8] update endpoint outputs (#1771) --- docs/integrations/context-standards-mandatory.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/integrations/context-standards-mandatory.md b/docs/integrations/context-standards-mandatory.md index d2d0e5bfc..223430b51 100644 --- a/docs/integrations/context-standards-mandatory.md +++ b/docs/integrations/context-standards-mandatory.md @@ -450,7 +450,7 @@ The following is the format for an Endpoint. "EntityAType": "STRING, The type of the source of the relationship.", "EntityBType": "STRING, The type of the destination of the relationship.", "ID": "STRING, The endpoint's ID.", - "IPAddress": "STRING, The endpoint's IP address.", + "IPAddress": "STRING, The endpoint's IP address OR LIST, one or more IP addresses.", "Domain": "STRING, The endpoint's domain.", "MACAddress": "STRING, The endpoint's MAC address.", "DHCPServer": "STRING, The DHCP server of the endpoint.", @@ -493,7 +493,7 @@ The following is the format for an Endpoint. description: The endpoint's operation system. type: String - contextPath: Endpoint.IPAddress - description: The endpoint's IP address. + description: The endpoint's IP address or list of IP addresses. type: String - contextPath: Endpoint.ID description: The endpoint's ID.