Используя curl, как загрузить a.diff-файл из частного репозитория на github
у меня есть частное РЕПО на github, принадлежащее организации. Для данного запроса на вытягивание есть url-адрес файла diff, например:
https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff
но РЕПО является частным, так как я могу загрузить этот файл с помощью curl? Я создал "личный токен доступа", но немного потерял, как его использовать.
Я попытался это:
curl -H 'Authorization: token <TOKEN>' -H 'Accept: application/vnd.github.v3.raw' -O -L "https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff"
но все, что было отправлено обратно, было "не найдено".
2 ответов
вы можете использовать url запроса pull из api.github.com с другим типом контента accept. например,
curl -H 'Authorization: token mytoken' -H "Accept: application/vnd.github.v3.diff" https://api.github.com/repos/orgname/repo/pulls/1234
обратите внимание: пожалуйста, удалите ".суффикс "diff" из url-адреса.
на по API на GitHub возвращает 404 для всех несанкционированных запросов - в основном, чтобы скрыть существование / несуществование данных пользователя / организации по запрошенному URL-адресу. Итак, 404 вы возвращаетесь мая на самом деле 401.
при отправке запроса в api GH через curl вы должны использовать u
возможность отправить свой токен, а не Authorization
заголовок, в результате чего следующий запрос:
curl -u <USERNAME>:<TOKEN> \
-H 'Accept: application/vnd.github.v3.raw' -O -L \
"https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff"