首页 > 解决方案 > 如何获取触发 GitHub 操作的事件类型?

问题描述

我正在用 JavaScript 编写自定义操作。

在我的 GitHub 操作中,我想根据触发它的事件类型做出决定。例如,它是推送还是 cron 作业。

如何使用 GitHub Actions Toolkit 访问此信息?

标签: github-actions

解决方案


问题的标题和问题的内容相互矛盾。您在标题中提到了事件类型,但问题询问了其他内容:

是推动还是 cron 工作

这不是事件类型,这是事件名称名称可以通过github.event_name变量访问,类型可以从中读取github.event.action。(注意下划线和点之间的区别。)

是的,命名相当混乱。在工作流 yaml的下一级on,您指定事件名称。您在关键字之后指定更深一层types的内容也称为“动作”。这是一个例子:

name: Foo
on:
  pull_request:
    types: ["ready_for_review", "converted_to_draft"]

jobs:
  bar:
    runs-on: ["ubuntu-latest"]
    steps:
      - run: echo "event name is:" ${{ github.event_name }} 
      - run: echo "event type is:" ${{ github.event.action }} 

这输出:

event name is: pull_request
event type is: converted_to_draft

推荐阅读