失败詹金斯工作从curl获得非200响应

问题描述:

我有一个詹金斯的工作,执行一个curl命令POST到一个URL。 curl命令看起来像这样失败詹金斯工作从curl获得非200响应

curl -u user:pass -F [email protected] -F install=true -v http://myserverurlhere.com:2222/service.jsp 

的命令返回XML的结果一样......

</log> 
    </data> 
    <status code="200">ok</status> 
</response> 

詹金斯如果将curl命令失败为失败被标记(如它应该)。但是如果curl命令返回有效的XML,即使它可能返回非200代码,jenkins作业也不会被标记为失败。

我如何让詹金斯看看XML中的结果以确定通过/失败?

只有当收到非零退出代码并且没有任何HTTP状态代码的可见性/考虑因素时,Jenkins才会在步骤/作业上标记失败。 看起来您需要创建一个自定义步骤/脚本来解析xml文件,进行必要的检查,并根据结果返回0或1。 不知道你所选择的语言是什么,但即使使用基本的bash也应该很简单 - 只要满足条件时就退出1。