You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions的if表达式中判断requested_reviewers数组非空?

解决GitHub Actions中判断PR请求审阅者数组非空的问题

直接用以下两种可靠写法即可实现需求:

写法1:先检查字段非空再判断长度

if: github.event.pull_request.requested_reviewers != null && length(github.event.pull_request.requested_reviewers) > 0

写法2:结合数组存在性与非空判断

if: (github.event.pull_request.requested_reviewers != null) && (github.event.pull_request.requested_reviewers != [])

为什么之前的写法不生效?

当PR没有请求任何审阅者时,GitHub API返回的requested_reviewers字段是null,而非空数组[]。这就导致:

  • 直接使用length(...) > 0会因null没有length属性而判断失效
  • 直接和[]比较时,null != []的结果为true,会错误触发步骤(实际此时没有审阅者)

完整示例

jobs:
  trigger-on-reviewers:
    runs-on: ubuntu-latest
    steps:
      - name: Execute when reviewers are requested
        if: github.event.pull_request.requested_reviewers != null && length(github.event.pull_request.requested_reviewers) > 0
        run: |
          echo "Number of requested reviewers: ${{ length(github.event.pull_request.requested_reviewers) }}"
          echo "Reviewers: ${{ toJSON(github.event.pull_request.requested_reviewers) }}"

内容的提问来源于stack exchange,提问作者Asking

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 15:05:55