GoCD取消阶段通过API返回“未找到您请求的资源!”

时间:2019-09-27 08:31:11

标签: api go-cd

我想取消当前正在运行的阶段以及运行时:

curl "http://go.com/go/api/stages/lab2018.AllTests/183/HarnessSelfTests/1/cancel" -X POST -H 'X-GoCD-Confirm: true' -u "user:password" -H 'Accept: application/vnd.go.cd.v4+json' |  json_pp

基本上,我已经尝试了两种不同版本的请求,但都无法正常工作。

curl "http://go.com/go/api/stages/lab2018.AllTests/HarnessSelfTests/cancel" -X POST -H 'Confirm: true' -u "user:password" -H 'Accept: application/vnd.go.cd.v4+json' |  json_pp

我知道了

{
   "message" : "The resource you requested was not found!"
}

同时,如果我使用相同的参数运行“获取舞台实例”:

curl "http://go.com/go/api/stages/lab2018.AllTests/HarnessSelfTests/instance/183/1" -X GET -u "user:password" 'Accept: application/vnd.go.cd.v4+json' |  json_pp

我获得了正确的JSON,其中包含有关所请求实例的信息。

GoCD版本为Go版本:18.10.0(7703-42d1cbe661161b5400289ead86c0447c84af8c0a)。

GoCD文档说Available since v14.3.0

任何提案都可能导致错误?有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

好的,问题出在'Accept: application/vnd.go.cd.v4+json'标头上。对于低于19.8.0的版本,不应使用此标头。如果使用它,它将中断通话。正确的API调用:

curl "http://go.com/go/api/stages/lab2018.AllTests/HarnessSelfTests/cancel" -X POST -H 'Confirm: true' -u "user:password"