我想取消当前正在运行的阶段以及运行时:
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。
任何提案都可能导致错误?有什么想法可以解决这个问题吗?
答案 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"