脚本应检查URL的Http状态代码,并在状态代码不匹配(例如200)时显示错误。在Jenkins中,如果此脚本失败,则构建应失败,并通过构建后程序触发邮件。
zy1mlcev1#
curl的另一个有趣的特性是它的-f/--fail选项。如果设置了这个选项,它将告诉curl在任何HTTP错误时失败,也就是说,如果服务器响应状态代码不是1xx/2xx/3xx,也就是说如果它是4xx或更高,curl将有一个不同于0的退出代码,所以
curl
-f
--fail
curl --silent --fail "http://www.example.org/" >/dev/null
或(等效):
curl -sf "http://www.example.org/" >/dev/null
如果找不到URL或发生其他HTTP错误,退出代码将为22而不是0。有关curl的各种退出代码的说明,请参见man curl。
man curl
eqqqjvef2#
您可以使用this answer中提到的简单shell命令
curl -s -o /dev/null -w "%{http_code}" http://www.example.org/
c8ib6hqw3#
如果添加了以下shell脚本,则会发生这种情况:
response=$(curl -s -o /dev/null -w "%{http_code}\n" http://www.example.org/) if [ "$response" != "200" ] then exit 1 fi
exit 1将生成标记为失败
exit 1
x8goxv8g4#
Jenkins还有HTTP Request Plugin可以触发HTTP请求。例如,您可以通过以下方式检查响应状态和内容:
def response = httpRequest "http://httpbin.org/response-headers?param1=${param1}" println('Status: '+response.status) println('Response: '+response.content)
qyswt5oh5#
您可以尝试:
response=`curl -k -s -X GET --url "<url_of_the_request>"` echo "${response}"
yeotifhr6#
在运行时使用bashscript URL= www.example.com“curl --location --request GET URL“中的curl传递URL如何www.google.com我们如何在运行时传递url?
curl --location --request GET URL
6条答案
按热度按时间zy1mlcev1#
curl
的另一个有趣的特性是它的-f
/--fail
选项。如果设置了这个选项,它将告诉curl
在任何HTTP错误时失败,也就是说,如果服务器响应状态代码不是1xx/2xx/3xx,也就是说如果它是4xx或更高,curl
将有一个不同于0的退出代码,所以或(等效):
如果找不到URL或发生其他HTTP错误,退出代码将为22而不是0。有关
curl
的各种退出代码的说明,请参见man curl
。eqqqjvef2#
您可以使用this answer中提到的简单shell命令
c8ib6hqw3#
如果添加了以下shell脚本,则会发生这种情况:
exit 1
将生成标记为失败x8goxv8g4#
Jenkins还有HTTP Request Plugin可以触发HTTP请求。
例如,您可以通过以下方式检查响应状态和内容:
qyswt5oh5#
您可以尝试:
yeotifhr6#
在运行时使用bashscript URL= www.example.com“
curl --location --request GET URL
“中的curl传递URL如何www.google.com我们如何在运行时传递url?