Создание запроса на получение с использованием API GitHub - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь сделать пул-запрос к GitHub, используя его REST API напрямую, используя эту документацию:

https://developer.github.com/v3/pulls/#create-a-pull-request

Я создал общедоступное репо, и я пытаюсь выполнить операцию извлечения запросов на извлечение API и работает нормально. Но когда я пытаюсь создать пул-запрос, используя эту операцию:

POST /repos/:owner/:repo/pulls

и это тело:

    {
  "title": "Amazing new feature",
  "body": "Please pull this in!",
  "head": "theOwner:new-branch",
  "base": "master"
}

тогда я получаю это сообщение из ответа:

{
    "message": "Not Found",
    "documentation_url": "https://developer.github.com/v3/pulls/#create-a-pull-request"
}

Полный URL-адрес, по которому я делаю запрос:

https://api.github.com/repos/alvarocallero/node-test/pulls

Правильно ли тело запроса, которое я использую? Может быть значение «голова» не является правильным.

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Я создал ветку feature в том же хранилище, для которого я хотел создать запрос Pull. После этого я вызвал API POST /repos/:owner/:repo/pulls, как указано в вопросе, со следующим телом:

{
  "title": "Amazing new feature",
  "body": "Please pull this in!",
  "head": "feature",
  "base": "master"
}

Как вы можете видеть, так как моя ветвь feature находится в том же репо, что и мастер, против которого я создаю Pull-запрос, я только что упомянул его имя в head.

После этого я также обеспечил прохождение Authorization (Basic Auth), и когда я вызывал API, в github был создан запрос Pull.

Затем я попытался вызвать вышеуказанный API, не передавая заголовок авторизации, и получил 404. Поэтому я думаю, что вам нужно исправить значение head в теле, как вы упомянули в комментарии, что ваша ветвь находится в том же репо, что и у мастера, против которого вы создаете запрос Pull. И обязательно передайте Authorization header

0 голосов
/ 08 мая 2019

После использования базовой аутентификации, как подсказывает @Yug Sing, я, наконец, могу сделать PR через API: моя проблема заключалась в том, что при создании токена для базовой аутентификации вместо использования userName и accessToken я использовал userName и мойпароль git, поэтому аутентификация не удалась

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...