使用 GitHub API 下载 GitHub Actions 工作流日志

12
我正在尝试下载GitHub中特定工作流的日志。 我参考了以下链接进行操作,link。 然而,我得到了302响应代码。 不确定问题出在哪里。它没有按预期下载日志
 curl -v -u username:$token -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/ORGANIZATION/REPOSITORY/actions/runs/319282523477/logs
.
.
< HTTP/1.1 302 Found
< Date: Wed, 21 Oct 2020 07:47:13 GMT
< Content-Type: text/html;charset=utf-8
.
3个回答

5
根据您提到的文档
获取重定向 URL 以下载工作流作业日志的纯文本文件。此链接在 1 分钟后过期。查找响应标头中的 Location:,找到下载的 URL。
响应 状态:302 Found
所以您可能已经获得了下载日志的 url,因为响应具有302 http 状态码。请检查响应头中的Location:,它应该给您需要下载日志的 url。

非常感谢@Madhu,正如您所说,有一个包含下载日志URL的“Location:”头。这个URL在Chrome上运行良好,但在像curl或wget这样的代理中无法工作。有什么原因吗? - codeaprendiz
@codeaprendiz 理想情况下应该适用于任何 HTTP 客户端。链接在文档中指定的一分钟后过期,您是否在生成链接后立即尝试使用 curl?当您使用 curl 时,您得到了什么响应? - Madhu Bhat
@codeaprendiz,你使用curl请求的方式可能有所不同。你能分享一下URL和你使用curl的方法吗? - Madhu Bhat
1
除非您分享URL,否则我将无法检查。或者,您可以在Chrome的开发人员工具中打开URL并检查正在进行的请求,以便进行检查。 - Madhu Bhat
1
@codeaprendiz,如果我没记错的话,你需要进行身份验证才能下载日志。 - riQQ
显示剩余3条评论

2
作为Madhu Bhat回答的补充,您可以在curl命令中添加-L选项以跟随重定向。
(来自curl --help)
 -L, --location      Follow redirects

1
这个命令是"curl -L -H "Authorization: ..."<url to api.github.com>" --output <filename>.zip"(忽略引号用法错误),其中填写了认证信息和完整的 URL。它将跟随重定向以下载文件。标准解压缩方法可对其进行操作。 - Lee Meador

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接