GitHub操作:如何通过终端访问当前构建的日志

GitHub操作:如何通过终端访问当前构建的日志,github,build,github-actions,Github,Build,Github Actions,我正在尝试熟悉Github的操作。我以某种方式配置了我的工作流,每次我将代码推送到GitHub时,代码都会自动生成并推送到heroku 如何在不访问github.com的情况下访问终端中的构建日志信息?使用 curl\ -H“Accept:application/vnd.github.v3+json”\ https://api.github.com/repos///actions/workflows//runs 这将返回具有以下结构的JSON: { “总计数”:1, “工作流运行”:[ {

我正在尝试熟悉Github的操作。我以某种方式配置了我的工作流,每次我将代码推送到GitHub时,代码都会自动生成并推送到heroku

如何在不访问github.com的情况下访问终端中的构建日志信息?

使用

curl\
-H“Accept:application/vnd.github.v3+json”\
https://api.github.com/repos///actions/workflows//runs

这将返回具有以下结构的JSON:

{
“总计数”:1,
“工作流运行”:[
{
“id”:30433642,
“节点id”:“MDEYOLDVCMTBG93IFJ1BJI2OTI4OQ=”,
“分行行长”:“船长”,
“负责人”:“acb5820ced9479c074f688cc328bf03f341a511d”,
“运行编号”:562,
“事件”:“推送”,
“状态”:“已排队”,
“结论”:无效,
“工作流程id”:159038,
“url”:”https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642",
“html_url”:”https://github.com/octo-org/octo-repo/actions/runs/30433642",
“pull_请求”:[],
“创建时间”:“2020-01-22T19:33:08Z”,
“更新时间”:“2020-01-22T19:33:08Z”,
“作业url”:https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/jobs",
“日志\u url”:https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/logs",
“检查\u套件\u url”:”https://api.github.com/repos/octo-org/octo-repo/check-suites/414944374",
“您的url”:https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/artifacts",
“取消url”:https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/cancel",
“重新运行url”:”https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642/rerun",
“工作流url”:https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038",
“负责人”:{…},
“存储库”:{…},
“头库”:{…}
]
}
使用具有存储库管理员权限的PAT访问
jobs\u url

使用最新版本(1.9.0+),您只需执行
(从您的终端,无需进入
github.com
):

gh运行视图--日志
#或
gh运行视图--日志失败
见“

使用新的
gh运行列表
,您将看到所有类型的工作流运行的概览,无论它们是通过推送、拉取请求、webhook还是手动事件触发的

要深入了解单个运行的详细信息,您可以使用“gh运行视图”(gh run view),也可以选择深入作业的各个步骤

对于更神秘的故障,您可以将grep之类的工具与运行视图--log相结合,以搜索整个运行的日志输出

如果
--log
信息太多,
gh run--log failed
将只输出失败的各个步骤的日志行。
这对于直接查看失败步骤的日志非常有用,而不必自己运行
grep


我喜欢这个功能
gh run view <jobId> --log 
# or
gh run view <jobId> --log-failed