Я хочу отменить этап текущей работы, и при запуске:
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
Igot:
{ "message" : "The resource you requested was not found!" }
Тем временем, если я запускаю 'Get stage Instance' с теми же параметрами:
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 гласит Доступно начиная с версии 14.3.0 .
Есть предложения, что может вызвать ошибку?Любые идеи, как я могу отладить проблему?
Хорошо, проблема в заголовке 'Accept: application/vnd.go.cd.v4+json'.Для версий менее 19.8.0 этот заголовок не должен использоваться.Если вы используете его, он прерывает вызов.Правильный вызов API:
'Accept: application/vnd.go.cd.v4+json'
curl "http://go.com/go/api/stages/lab2018.AllTests/HarnessSelfTests/cancel" -X POST -H 'Confirm: true' -u "user:password"