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

GitHub Actions三元运算符判断异常问题求助

GitHub Actions 三元运算符判断作业输出异常问题

我正在构建包含以下作业的GitHub Actions基础工作流:

  • 基础设施部署(Infrastructure Provisioning)
  • 应用部署(Application Deployment)
  • 状态回调(Status Callback)

我想用三元运算符逻辑决定给Status Callback作业传入的status变量是OK还是NOK,但测试后发现该逻辑表现异常。

测试所用代码(仅status的判断逻辑部分有变化):

Status-Callback-Generic-A:
    # needs: [Infrastructure_Provisioning, Dummy_Application_Deployment]
    needs: [Dummy_Application_Deployment]
    if: ${{ always() }}
    uses: ./.github/workflows/status-callback.yml
    with:
      connectionId: ${{ inputs.connectionId }}
      status: ${{ needs.Dummy_Application_Deployment.outputs.is_success == 'true' && 'OK' || 'NOK' }}

我测试了五种判断逻辑场景:
场景A

status: ${{ needs.Dummy_Application_Deployment.outputs.is_success == 'true' && 'OK' || 'NOK' }}

场景B

status: ${{ needs.Dummy_Application_Deployment.outputs.is_success && 'OK' || 'NOK' }}

场景C

status: ${{ needs.Dummy_Application_Deployment.outputs.is_success == true && 'OK' || 'NOK' }}

场景D

status: ${{ needs.Dummy_Application_Deployment.outputs.is_success == 1 && 'OK' || 'NOK' }}

场景E

status: ${{ needs.Dummy_Application_Deployment.outputs.is_success == '1' && 'OK' || 'NOK' }}

测试结果如下:

is_successexpected statusstatus(A)status(B)status(C)status(D)status(E)
trueOKNOKOKNOKNOKNOK
falseNOKNOKOKNOKNOKNOK

根据官方文档说明:

作业输出会被解析为字符串;GitHub会将不匹配的类型转换为数字,布尔值true转1、false转0。

我的条件判断是否存在根本性错误?

is_success的定义来自对应工作流的步骤:

name: Dummy Application Deployment

on:
  workflow_call:      
    outputs:
      is_success: 
        description: Dummy Description
        value: ${{ jobs.build_and_deploy_dummy_application.outputs.is_success }}

jobs:
  build_and_deploy_dummy_application:
    runs-on: ubuntu-latest
    outputs:
      is_success: |
          ${{ 
          steps.failing-step.outcome == 'success' &&
          steps.build-dummy-application.outcome == 'success' &&
          steps.deploy-dummy-application.outcome == 'success'
          }}
steps:
# omitted

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 06:05:10