From f7d5bdee94051dbd1b53b36f75f216e90187247c Mon Sep 17 00:00:00 2001 From: "Paul B." Date: Tue, 7 Jul 2026 10:06:06 +0200 Subject: [PATCH] mcp runtime expression: add precision on action condition. For now JMESPath functions are not supported in action condition resolver. That's why we recently changed the mcwrapper to resolve outputs **before** selecting the next matching action. IN this way users can defined `outputs` with aggregation functions and then use the output expression in their condition expression. --- src/_help/mcp-servers/runtime-expressions.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/_help/mcp-servers/runtime-expressions.md b/src/_help/mcp-servers/runtime-expressions.md index f81745d2..7e900af1 100644 --- a/src/_help/mcp-servers/runtime-expressions.md +++ b/src/_help/mcp-servers/runtime-expressions.md @@ -271,9 +271,9 @@ outputs: > String interpolation only works with dot notation expressions. JMESPath expressions (containing `[*]`, `[0]`, functions, etc.) are resolved as a whole and cannot be combined with other expressions in the same string. {: .warning} -## Conditions +## Action conditions -Expressions inside `when` clauses are resolved, then evaluated with standard operators. +Actions defined in a step can use expressions variables inside then `when` clause. Those are resolved, then evaluated with standard operators. ```yaml actions: @@ -288,6 +288,8 @@ actions: Supported operators: `==`, `!=`, `>`, `<`, `>=`, `<=`, `AND`, `OR`, `!`. +> JMESPath functions are not supported inside action conditions. You should only use expression variables with a comparaison operator. You can however, use a function in a step `outputs` and then use the output in the condition, i.e. `$step.my-step.outputs.aggregated-result > 10`. +{: .warning} ## Complete example