For the complete documentation index, see llms.txt. This page is also available as Markdown.

Apply Advanced Rules

These actions provide ability to execute business rules using Drools BRMS.

Apply Advanced Rules Actions

Process / ProcessRules

Passes structured request data to Drools and returns rule evaluation results in the output. Event metadata fields applicable for this action are as follows:

Field
Definition
Example
Default

Input Element

Json path for the input in request event payload

basket

-

Output Element

Json path for the output in response event payload

basket

-

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Apply Advanced Rules action eventMeta fields",
  "type": "object",
  "properties": {
    "eventMeta": {
      "type": "object",
      "properties": {
        "inputElement": {
          "type": "string",
          "definition": "Json path for the input in request event payload",
          "example": "basket",
          "default": null
        },
        "outputElement": {
          "type": "string",
          "definition": "Json path for the output in response event payload",
          "example": "basket",
          "default": null
        }
      }
    }
  }
}

With event metadata parameters as:

Parameter
Definition
Example
Default

Input Pattern

JMESPath pattern to apply on data input

{items:items.productid}

-

Output Pattern

JMESPath pattern to apply on data output, before returning response

{totalPrice:basket.totalPrice}

-

For Each

Field for which a separate record should be passed on to Drools

items

-

For Each Map

Json pattern for mapping each record passed to Drools, allowing replication of common data

-

-

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Apply Advanced Rules action eventMeta.parameters",
  "type": "object",
  "properties": {
    "eventMeta": {
      "type": "object",
      "properties": {
        "parameters": {
          "type": "object",
          "properties": {
            "inputPattern": {
              "type": "string",
              "definition": "JMESPath pattern to apply on data input",
              "example": "{items:items.productid}",
              "default": null
            },
            "outputPattern": {
              "type": "string",
              "definition": "JMESPath pattern to apply on data output, before returning response",
              "example": "{totalPrice:basket.totalPrice}",
              "default": null
            },
            "forEach": {
              "type": "string",
              "definition": "Field for each a separate record should be passed on to Drools",
              "example": "items",
              "default": null
            },
            "forEachMap": {
              "type": "string",
              "definition": "Json pattern for mapping each record that should be passed on to Drools, allowing replication of common data",
              "default": null
            }
          }
        }
      }
    }
  }
}

Last updated