在Jenkins管道使用curl如何存储响应cookie ?



我正在使用sh命令和curl编写一个Jenkins Pipeline。

使用常规命令提示符可以存储响应cookie,然后在另一个请求中发送这些cookie,例如存储cookie

curl -k -c my_cookies.txt -X POST https://myLogin

,然后用这些cookie发送请求

curl -k -b my_cookies.txt -X GET https://myGetRequest

是否有可能与Jenkins Pipeline有类似的东西?

我试过这样做:

final String url = "https://myLogin"
final String response = sh(script: "curl -c my_cookie.txt -k -X POST $url ", returnStdout: true).trim()

但是这会产生像

这样的错误
curl: (35) Encountered end of file

任何帮助都是感激的。

可以这样做:

pipeline {
agent any;
stages {
stage('call 1st api') {
steps {
sh """
curl --cookie-jar $WORKSPACE/cookie.txt https://62e96ddc0c77.ngrok.io/put
"""
}
}
stage('call 2nd api') {
steps {
sh """
curl --cookie $WORKSPACE/cookie.txt https://62e96ddc0c77.ngrok.io/get 
"""
}
}
}
}

在上面的例子中,如果第一次调用成功,cookie将存储在$WORKSPACE/cookie.txt位置,第二次调用将从相同的位置读取它。$WORKSPACE-是Job工作区的位置。你不需要硬编码的位置,因为詹金斯照顾它

相关内容

  • 没有找到相关文章

最新更新