вызов curl работает, но по-прежнему возвращает «Не удалось разрешить host: POST»

#bash #curl #gitlab

#bash #curl #gitlab

Вопрос:

Я запускаю следующий скрипт в задании gitlab:

 after-merge-to-release:
  script:
  - set -x
  - >
    curl
      --X POST --header 'PRIVATE-TOKEN:xyz' --header 'Content-Type:application/json'
      --data '{"id":"'$PROJECT_ID'","name":"'${MOST_RECENT_SPRINT_BRANCH//'origin/'/}'","allowed_to_push":[{"access_level":0}],"allowed_to_merge":[{"access_level":0}]}'
      https://git.xyz.net/api/v4/projects/"$PROJECT_ID"/protected_branches
  

Я могу подтвердить, что эта команда работает (она добавляет новую защищенную ветку в мой проект), но вывод gitlab это не подтверждает:

 $ curl # collapsed multi-line command
    echo '$ curl # collapsed multi-line command'
    curl --X POST --header PRIVATE-TOKEN:xyz --header Content-Type:application/json --data '{"id":"123","name":"origin/sprint/48","allowed_to_push":[{"access_level":0}],"allowed_to_merge":[{"access_level":0}]}' https://git.xyz.net/api/v4/projects/123/protected_branches
   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                  Dload  Upload   Total   Spent    Left  Speed
   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: POST
 100   530  100   413  100   117   3152    893 --:--:-- --:--:-- --:--:--  4045
  

Почему он не возвращает ответ на запрос curl и выдает Could not resolve host: POST ошибку?

Ответ №1:

Ошибка здесь:

 --X POST
  

Используйте только один тире перед X выбором метода http:

 -X POST