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)

Reply via email to