可以使用 Github API 和您提到的 dispatch_event API 远程触发工作流。
Github CLI 有各种工作流命令(run、list、view、enable 或 disable)。您可以在official documentation找到更多信息
要从 Github CLI as explained here 获取日志,您可以使用以下命令:
gh run view run-id --log
请注意,如果您不指定 run-id,GitHub CLI 会返回一个交互式菜单供您选择最近的运行,然后返回另一个交互式菜单供您从运行中选择一个作业。 em>
您还可以使用--job 标志来指定作业ID。将 job-id 替换为您要查看其日志的作业的 ID。
gh run view --job job-id --log
您可以使用grep 搜索日志。例如,此命令将返回所有包含单词 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 启动工作流,然后从工作流运行列表 API 中获取工作流 run_id好吧,然后在循环中使用 Github CLI 命令来获取日志。
它并不漂亮,但它应该可以将所有这些步骤收集到一个脚本中作为一种解决方法。