Этап отмены GoCD через API возвращает «Запрошенный вами ресурс не найден!» - PullRequest
0 голосов
/ 27 сентября 2019

Я хочу отменить этап текущей работы, и при запуске:

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 .

Есть предложения, что может вызвать ошибку?Любые идеи, как я могу отладить проблему?

1 Ответ

1 голос
/ 27 сентября 2019

Хорошо, проблема в заголовке '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"  
...