是否可以为拉取请求仅触发一次 Github 工作流程?

Is it possible to trigger a Github workflow only once for a pull request?

使用这样的工作流文件:

on: [push, pull_request]

拉取请求中的每个提交都会触发运行。

整个拉取请求(包括所有提交)是否可以只触发一次?

我刚刚为一个更大的拉取请求运行了数百次...

来自 Webhook events 页面:

By default, all activity types trigger a workflow to run. You can limit your workflow runs to specific activity types using the types keyword. For more information, see "Workflow syntax for GitHub Actions."


pull_request 事件有许多与之关联的活动,这些活动会触发侦听该事件的任何操作。 synchronizeedited 等活动可能会导致每当拉取请求被调用时都会调用您的操作已修改。

您可以使用 types 列表限制 activity 类型。例如:

on:
  pull_request:
    types: [opened]

在上述情况下,只有当拉取请求打开时才会运行执行操作。您可以根据需要在此列表中添加更多内容。