我正在使用缺少链接的http 任务将构建工件推送到我们的工件存储库。问题是,如果我推送一个新的工件,我会得到一个 HTTP 响应代码 201。如果我推送一个现有的工件,我会得到一个 204。这两个在我的上下文中都是有效的。但是 的expected
属性<http>
只接受一个响应码。我试过了expected="201,204"
,expected="201 204"
但我得到了一个NumberFormatException
但是在执行那个蚂蚁节点时有没有办法同时允许 201 和 204 但将任何其他响应视为失败?
问问题
83 次
1 回答
1
不,不是像您尝试的那样直接。你必须修改和重建它。我检查了代码,expected
是一个int
. 正如您发现的那样,它不会列出清单。
这将是一个丑陋的解决方法,但您可以设置failonunexpected=false
.
如果你继续不管http返回是什么,你可以让它变得不那么难看failonunexpected=false
,然后将状态放在一个属性中,如果不是statusProperty="http.status"
,你可以用它来失败构建。就像是:http.status
201 or 204
<condition property="http.status.ok">
<matches pattern="20[14]" string="${http.status}"/>
</condition>
<fail message="Bad http status ${http.status}" unless="http.status.ok"/>
告诉我更多关于您的工件存储库的信息。是 Maven 还是 ivy 布局?您也许可以利用Ivy 的发布任务。
于 2013-10-08T22:42:53.130 回答