Federico Mariani created CAMEL-23284:
----------------------------------------
Summary: Pipe YAML Kamelet properties with {{placeholder}} get
URL-encoded, preventing property resolution
Key: CAMEL-23284
URL: https://issues.apache.org/jira/browse/CAMEL-23284
Project: Camel
Issue Type: Bug
Components: camel-yaml-dsl
Environment: camel 4.18+
Reporter: Federico Mariani
Assignee: Federico Mariani
When using a Pipe YAML with {{property}} placeholders in Kamelet source/sink
properties, the placeholders are URL-encoded to %7B%7Bproperty%7D%7D before
Camel's property placeholder resolver processes them. This prevents resolution
entirely.
*Reproducer*
{code:yaml|title=pipe.yaml}
apiVersion: camel.apache.org/v1
kind: Pipe
metadata:
name: placeholder-bug
spec:
source:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1
name: timer-source
properties:
period: 5000
message: "{{my.message}}"
sink:
uri: "log:result?showBody=true&showHeaders=false"
{code}
{code:bash}
camel run pipe.yaml --prop=my.message="Hello Camel"
{code}
Expected: logs Hello Camel
Actual: logs %7B%7Bmy.message%7D%7D
Property-placeholders summary confirms the value is URL-encoded:
{code}
[timer-source.kamelet.yaml] message = %7B%7Bmy.message%7D%7D
{code}
Note: a plain route YAML using {{my.message}} in a constant expression resolves
correctly with the same property. The issue is specific to Pipe Kamelet
properties.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)