在 CLI 中查看 GH Actions 工作流输出?

Watch GH Actions workflow output in CLI?

我正在尝试通过 CLI 在特定分支上执行 github 工作流。此处提供了相关文档 https://cli.github.com/manual/gh_workflow_run

是否有可能以某种方式在终端中获得与浏览器 UI 相同类型的日志?我想以编程方式与之交互。

如果能和他们一起休息api,那就更好了。 https://docs.github.com/en/rest/reference/actions#create-a-workflow-dispatch-event 根据文档,它只是 returns 一个 Status: 204 No Content

可以使用 Github API 和您提到的 dispatch_event API 远程触发工作流。

Github CLI 有各种工作流命令(到 runlistviewenabledisable)。您可以在 official documentation

上找到更多信息

要从 Github CLI as explained here 获取日志,您可以使用如下命令:

gh run view run-id --log

注意,如果不指定运行-id,GitHubCLI returns 一个交互式菜单供您选择最近的运行,然后是 return 另一个交互式菜单,供您从 运行.

中选择工作

您还可以使用 --job 标志来指定作业 ID。将 job-id 替换为您要查看其日志的作业的 ID。

gh run view --job job-id --log

您可以使用grep搜索日志。例如,此命令将 return 所有包含单词 error 的日志条目。

gh run view --job job-id --log | grep error

要过滤任何失败步骤的日志,请使用 --log-failed 而不是 --log

gh run view --job job-id --log-failed

请注意,您可以获得 workflow run id from the Github API as well


因此,由于您应该已经从工作流文件中获得了 job_id,因此可以通过 API 使用 dispatch_event 启动工作流,然后获取工作流run_id 来自工作流 运行s 列表 API,并在循环中使用 Github CLI 命令获取日志。

它不是很漂亮,但它应该可以在脚本中收集所有这些步骤作为解决方法。