0

我正在使用缺少链接的http 任务将构建工件推送到我们的工件存储库。问题是,如果我推送一个新的工件,我会得到一个 HTTP 响应代码 201。如果我推送一个现有的工件,我会得到一个 204。这两个在我的上下文中都是有效的。但是 的expected属性<http>只接受一个响应码。我试过了expected="201,204"expected="201 204"但我得到了一个NumberFormatException但是在执行那个蚂蚁节点时有没有办法同时允许 201 和 204 但将任何其他响应视为失败?

4

1 回答 1

1

不,不是像您尝试的那样直接。你必须修改和重建它。我检查了代码,expected是一个int. 正如您发现的那样,它不会列出清单。

这将是一个丑陋的解决方法,但您可以设置failonunexpected=false.

如果你继续不管http返回是什么,你可以让它变得不那么难看failonunexpected=false,然后将状态放在一个属性中,如果不是statusProperty="http.status",你可以用它来失败构建。就像是:http.status201 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 回答