仅当PR合并时才触发Github操作 [英] Trigger Github Actions only when PR is merged

查看:21
本文介绍了仅当PR合并时才触发Github操作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个GitHub操作YAML文件,如下所示:

name: Test deployment
on:
  pull_request:
    branches:
    - master

jobs:
  deploy:
    runs-on: ubuntu-18.04
    steps:
    - name: Random name
      run: date

当我将PR从分支提升到master分支时,Github Action被触发。因此,我将我的YAML更新为:

name: Test deployment
on:
  pull_request:
    types:
    - closed
    branches:
    - master

现在它是在我合并PR时触发的,而不是在提高PR时触发的。但当我关闭PR而不合并它时,它也会被触发。

我找不到类似merged键入docs

的内容

甚至我尝试的以下语法也不能按预期工作:

jobs:
  ...
    if: github.event_name == 'pull_request' && github.event.action == 'closed'

有谁能帮帮我吗? 我是否可以检查PR是否得到了至少一位审核者的批准?(我可以启用分支保护,但想知道在GitHub操作中是否有这样做的选项)

推荐答案

我自己还没有尝试过,但我认为它可能会起作用,因为我注意到这是一个自动操作,在合并PR之前必须检查它是否已批准。

尝试对此操作做出反应

on
  pull_request_review:
    types:
      - submitted
然后从有效负载中获取名为review.state的东西,它应该具有值approved。我在这里看到了它的运行https://github.com/pascalgn/automerge-action/blob/135f0bdb927d9807b5446f7ca9ecc2c51de03c4a/lib/api.js#L123

这篇关于仅当PR合并时才触发Github操作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆