仅对非草稿拉取请求执行 运行 次操作

Only run actions on non draft pull request

我已将 Github 操作设置为在创建草稿拉取请求时跳过,但是当拉取请求准备好接受审查时它不会触发。有什么方法可以运行当我起草 PR 从草稿变成待审时的动作吗?

pull_request:
types: ['opened', 'edited', 'reopened', 'synchronize', 'ready_for_review']

jobs:
 build:
    if: github.event.pull_request.draft == 'false'
    runs-on: ubuntu-latest

pull_request.draft 是布尔值,但您将其视为字符串,因此比较中的类型不匹配。

根据 docs,在这种情况下,操作数被强制转换为数字:如果为真,则左侧(布尔值)变为 1,如果为假,则变为 0;右侧(字符串)变为 NaN,因此您的 if 语句永远不会计算为 true.

要修复,请使用

    if: ! github.event.pull_request.draft