【发布时间】:2021-12-27 10:10:16
【问题描述】:
我有一个在 shell 脚本中定义的 Curl 发布请求,作为 Bamboo 计划中我默认作业的任务的一部分。
Curl 请求在我的一个 QA 环境中执行部署。作为全栈部署,完成部署大约需要 2 小时。
部署完成后,为了检查部署的状态,我希望再发送一个 curl 请求,该请求的响应有一个状态字段,表示部署是否成功。
这是来自请求的示例响应:
{
"_id" : "xxx",
"templateId" : "xxx",
"templateName" : "all full reinstall",
"epoch" : "2021-11-12T10:22:14.268Z",
"userEmail" : "xxx@xxx.com",
"playbook" : "all_full_reinstall.yml",
"repoId" : "xxx",
"repoName" : "tower-in-house",
"inventoryId" : "xxx",
"inventoryName" : "xxx",
"status" : "failed"
}
我还有其他阶段会触发一些回归测试,但只有在状态为成功且未失败时才会触发这些阶段。
挑战是 curl 请求给出的响应为 200。但在响应中,我希望读取“状态”字段来确定阶段是否成功。
我查看了Can Bamboo interpret an HTTP 400 Bad request as a failure,但这谈到了返回非 2xx 代码。在我的情况下,它返回 200,但其中一个 json 响应字段包含错误消息,我需要查看它以确定它是失败还是成功。
有什么办法可以继续吗?任何帮助将不胜感激。
【问题讨论】: