我在github上有一个私人回购,属于一个组织。对于给定的拉请求,有一个diff文件的url如下所示:
https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff但是回购是私有的,所以我如何下载这个卷曲文件呢?我生成了一个“个人访问令牌”,但是对于如何使用它有点不知所措。
我试过这个:
curl -H 'Authorization: token <TOKEN>' -H 'Accept: application/vnd.github.v3.raw' -O -L "https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff"但所有发回的都是“找不到”。
发布于 2016-10-19 15:55:23
您可以使用来自api.github.com的不同接受内容类型的拉请求url。例如:
curl -H 'Authorization: token mytoken' -H "Accept: application/vnd.github.v3.diff" https://api.github.com/repos/orgname/repo/pulls/1234注意:请从网址中删除".diff“后缀。
发布于 2016-02-18 02:48:12
Github API为所有未经授权的请求返回404 -主要是为了隐藏用户/组织数据在请求的URL上的存在/不存在。所以你得到的404实际上可能是401。
当通过curl向GH api发送请求时,您应该使用u选项来发送令牌,而不是发送Authorization头,从而产生以下请求:
curl -u <USERNAME>:<TOKEN> \ -H 'Accept: application/vnd.github.v3.raw' -O -L \ "https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff"
发布于 2022-02-28 10:24:29
2022年开始工作。请注意,URL与先前接受的答案是相同的,但是身份验证方法需要更改:
curl -H "Accept: application/vnd.github.v3.diff" https://<personal access token>:x-oauth-basic@api.github.com/repos/<org>/<repo>/pulls/<pull request>还可以使用普通的cURL -u参数。
请参阅:https://docs.github.com/en/rest/reference/pulls#get-a-pull-request
https://stackoverflow.com/questions/35471316
复制相似问题