我正在使用missing-link http任务将构建工件推送到我们的工件存储库。问题是,如果我推送一个新工件,我得到一个201的HTTP响应代码。如果我推翻现有工件,我得到一个204.这两个都在我的上下文中是有效的。但expected
的{{1}}属性只接受一个响应代码。我尝试了<http>
和expected="201,204"
但是在执行该ant节点时我得到了expected="201 204"
。有没有办法允许201和204,但将任何其他响应视为失败?
答案 0 :(得分:1)
不,不是直接尝试。您必须修改并重建它。我查了代码,expected
是int
。如你发现它不会列出一个列表。
这将是一个丑陋的解决方法,但您可以设置failonunexpected=false
。
如果你通过设置failonunexpected=false
然后将状态放在属性statusProperty="http.status"
中而不管http返回是什么来继续,你可以使它变得不那么难看,如果{http.status
你可以使用它来使构建失败1}}不是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's publish任务。