在jenkins文件中,我用curl调用:
sh "curl -X POST -i -u admin:admin https://[myhost]"
我得到这样的输出:
...
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
...
我想根据上述调用的响应代码采取不同的操作,但是如何只在变量中存储响应代码/回复?
答案 0 :(得分:1)
将响应放入变量:
def response = sh returnStdout: true, script: 'curl -X POST -i -u admin:admin https://[myhost]'
然后使用正则表达式提取状态代码。
Pattern pattern = Pattern.compile("(\\d{3})");
Matcher matcher = pattern.matcher(s);
if (matcher.find()) {
matcher.group(1);
}
答案 1 :(得分:0)
借助the given answer和其他文档,我得出了以下解决方案:
import React from 'react';
class Example extends React.Component { // instead of Component
}
答案 2 :(得分:0)
使用参数-w %{http_code}
(来自Use HTTP status codes from curl)
您可以轻松获取HTTP响应代码:
int status = sh(script: "curl -w '%{http_code}' $url", returnStdout: true)
if (status != 200 || status != 201) {
error("Returned status code = $status when calling $url")
}