u12*_*123 4 curl jenkins jenkins-pipeline
在 jenkinsfile 中,我使用以下命令调用 curl:
sh "curl -X POST -i -u admin:admin https://[myhost]"
Run Code Online (Sandbox Code Playgroud)
我得到这样的输出:
...
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
...
Run Code Online (Sandbox Code Playgroud)
我想根据上述调用的响应代码采取不同的操作,但如何仅将响应代码/回复存储在变量中?
通过使用参数-w %{http_code}(来自使用 curl 的 HTTP 状态代码)
您可以轻松获取 HTTP 响应代码:
int status = sh(script: "curl -sLI -w '%{http_code}' $url -o /dev/null", returnStdout: true)
if (status != 200 && status != 201) {
error("Returned status code = $status when calling $url")
}
Run Code Online (Sandbox Code Playgroud)
要将响应放入变量中:
def response = sh returnStdout: true, script: 'curl -X POST -i -u admin:admin https://[myhost]'
Run Code Online (Sandbox Code Playgroud)
然后使用正则表达式提取状态代码。
Pattern pattern = Pattern.compile("(\\d{3})");
Matcher matcher = pattern.matcher(s);
if (matcher.find()) {
matcher.group(1);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9239 次 |
| 最近记录: |