Issue
String arg1 = "arg1"
String arg2 = "arg2"
String cm = "curl -H \\'Authorization: ${arg1}\\' -H \\'X-CUSTOM-HEADER:${arg2}\\' www.google.com"
node {
sh cm
}
The expected output is:
[Pipeline] {
[Pipeline] sh
+ curl -H 'Authorization: arg1' -H 'X-CUSTOM-HEADER:arg2' www.google.com
Actual output is:
Output:
[Pipeline] sh
+ curl -H ''\''Authorization:' 'arg1'\''' -H ''\''X-CUSTOM-HEADER:arg2'\''' www.google.com
Environment
- CloudBees CI (CloudBees Core) on modern cloud platforms - Managed Master
- CloudBees CI (CloudBees Core) on traditional platforms - Client Master
- CloudBees Jenkins Enterprise - Managed Master
- CloudBees Jenkins Platform - Client Master
- CloudBees Jenkins Distribution
- Jenkins LTS
- Pipeline plugin
Resolution
No action is required.
The “weird” escaping is just for the build console output of the command that was run, which escapes things one more level than what was actually received (to prevent things like ANSI escape codes from applying to that output).
0 Comments