昨天我们看到GitHub为GitHub Actions工作流运行提供了一些信息,即 GITHUB_TOKEN。但这还不是全部。GitHub Actions还为你提供什么其他信息?

其实很多!

GitHub Actions 设置了许多信息“上下文”,其中包含有关你的工作流程运行的数据。例如,github 上下文包含信息,例如你的工作流在其中运行的存储库的名称 github.repository,启动工作流的用户 github.actor。你可以使用与 处理矩阵密码 相同的双弯括号扩展语法来引用它们。

image

如果你想在上下文中查看GitHub Actions提供的所有信息,则可以实际使用方便的 toJson 函数来输出整个对象:

image

如果这样做,你会注意到GitHub上下文中有很多信息。特别是,github.event 对象本身就是一块巨大的json数据。它基本上包含与触发器相对应的 Webhook 信息

相同的事件信息已保存到磁盘上的 github.event_path。因此,你可以通过检查json blob来获取工作流程中的所有信息。幸运的是,非常方便的 jq 工具已安装在 runner 上。你可以使用它在命令行上分解json数据。

例如,如果我想获取存储库中的星标数量和fork数量,则可以 jq 用来解压缩保存在的json数据 github.event_path

image

GitHub Actions提供了大量有关存储库,触发运行的操作以及环境的数据,所有这些使你能够创建工作流以构建应用程序,部署应用程序或自动执行存储库中的某些任务。

原文链接:https://www.edwardthomson.com/blog/github_actions_12_information_about_your_workflow.html

GitHub repo: qiwihui/blog

Follow me: @qiwihui

Site: QIWIHUI