Sorry, Björn, but I think I didn’t get it:

  *   Is your suggestion to use?
     *   
withEnv([“http_proxy=https://${PROXY_CREDENTIALS}@proxy-endpoint.com:3128”]) {
  *   But isn’t that what kelvSYC also tried and “gets flagged as unsafe by 
Jenkins”
     *   
withCredentials([usernameColonPassword(credentialsId:’proxy-credentials’, 
variable: ‘PROXY_CREDENTIALS')]) {
def url = 
“https://${env.PROXY_CREDENTIALS}@proxy-endpoint.com:3128<https://$%7benv.proxy_credentials...@proxy-endpoint.com:3128>”
withEnv([“http_proxy=${url}”]) {

I think the (ugly) workaround would be (1) to not use “withEnv” step and (2) 
assemble the “http_proxy” env variable (=> shell variable) only later in the 
shell? Something like:

http_proxy=https://${env.PROXY_CREDENTIALS}@proxy-endpoint.com:3128<https://$%7benv.proxy_credentials...@proxy-endpoint.com:3128>
 <some cmd that needs this ‘http_proxy’ variable>

☹

Cu Reinhold


From: 'Björn Pedersen' via Jenkins Users <jenkinsci-users@googlegroups.com>
Sent: Dienstag, 9. März 2021 08:10
To: Jenkins Users <jenkinsci-users@googlegroups.com>
Subject: Re: Using withEnv with withCredentials

Used : 
withEnv([‘http_proxy=https://${PROXY_CREDENTIALS}@proxy-endpoint.com:3128']) {

Note the single quotes, this needs to be double-quoted for the replacement to 
happen.

Björn


kelvSYC schrieb am Montag, 8. März 2021 um 22:29:00 UTC+1:
Suppose I have a username and password credential that I use with a 
withCredentials step, and I wish to use it to construct a URL for use with the 
http_proxy environment variable. Currently I have this:

withCredentials([usernameColonPassword(credentialsId:’proxy-credentials’, 
variable: ‘PROXY_CREDENTIALS')]) {
def url = 
“https://${env.PROXY_CREDENTIALS}@proxy-endpoint.com:3128<https://$%7benv.proxy_credentials...@proxy-endpoint.com:3128>”
withEnv([“http_proxy=${url}”]) {
// Do something
}
}

This gets flagged as unsafe by Jenkins (likely rightly), so I’m wondering what 
safe way there is to do the same thing.

Something like the following doesn’t work for me:

withCredentials([usernameColonPassword(credentialsId:’proxy-credentials’, 
variable: ‘PROXY_CREDENTIALS')]) {
withEnv([‘http_proxy=https://${PROXY_CREDENTIALS}@proxy-endpoint.com:3128']) {
// Do something
}
}

All it does is that the http_proxy variable is populated with the literal 
${PROXY_CREDENTIALS} string instead of the value therein.

Any assistance in this would be appreciated.
--
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
jenkinsci-users+unsubscr...@googlegroups.com<mailto:jenkinsci-users+unsubscr...@googlegroups.com>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/2e09f1ff-d7d7-4ba3-a84d-2455dfe1d5acn%40googlegroups.com<https://groups.google.com/d/msgid/jenkinsci-users/2e09f1ff-d7d7-4ba3-a84d-2455dfe1d5acn%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/VI1PR01MB66388D2B93134A56C68D6331F7929%40VI1PR01MB6638.eurprd01.prod.exchangelabs.com.

Reply via email to