我希望能找到一种方法,在合并PR时触发GitHub Action,该GitHub Action需要获取PR说明,并将数据存储在其他位置以备将来使用。
是否有办法通过GitHub Actions实现这一点而不需使用API或Webhook?
是否有办法通过GitHub Actions实现这一点而不需使用API或Webhook?
有两种方法:一种是当PR被关闭时以merge=true运行工作流程,另一种是如果你知道所有推送到目标分支的操作都要通过PR进行,则在目标分支上运行工作流程。
您可以这样触发PR关闭时的操作:
on:
pull_request:
types: [closed]
无论PR是否已合并或关闭而未合并,上述事件都会触发。因此,在运行作业时仍需检查该标志:
my_job:
build:
if: github.event.pull_request.merged == true
如果您知道所有的 PR(拉取请求)都已合并到 main
,且用户不能直接推送到 main
,那么您可以像下面这样,在主分支上触发工作流程:
on:
push:
branches:
- main
答案很好,但是有点过时了。对我来说使用'true'
并没有起作用。
以下方法对我管用:
jobs:
publish:
if: github.event.pull_request.merged == true
关于此的文档:jobs.<job_id>.if
github.event.pull_request
),我相信你会在其中找到描述。 - rethab