我在Jekins中有一个步骤,在那里我执行curl命令。要使用凭证TOKEN,我必须将我的shell脚本放入三个单引号中,否则我会得到错误:solution: either escape a literal dollar sign "\$5" or bracket the value expression "${5}" @ line 18, column 33.
但是现在当使用三重单引号时,我不能从shell访问我的apiUrl
变量。
withCredentials([string(credentialsId: 'TOKEN', variable: 'TOKEN']) {
def exampleUrl = "https://example.com"
sh '''
#!/usr/bin/env bash
RESPONSE_CODE=$(curl -o body.txt --write-out "%{http_code}" --request GET \
--url $exampleUrl \
--header "accept: application/json" \
--header "authorization: Token $TOKEN")
'''
}
有没有比使用环境变量更优雅的解决方案,以便我可以访问凭据TOKEN
和变量exampleUrl
?
谢谢你
1条答案
按热度按时间vfhzx4xs1#
您可以在sh块之前将它们设置为环境变量,然后您应该能够访问它们。