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

GitHub复合Action YAML解析错误排查及自定义文件名调用咨询

问题排查与解答

一、YAML解析错误「While parsing a block mapping, did not find expected key」排查

1. 调用端workflow YAML语法错误

原文件存在两个核心语法问题:

  • 缺少on关键字:workflow_dispatch必须隶属于on块,而非直接作为顶级属性
  • workflow_dispatch缩进错误,它应与name同级,而非作为name的子项

修正后的调用端workflow:

---
name: RECYCLE_dev
on:
  workflow_dispatch:
    inputs:
      ENVIRONMENT:
        type: choice
        options:
          - dev
          - qa
          - citest
          - cso
          - prod 
jobs:
  SEND_NOTIFICATION:
    runs-on: 'windows-latest'
    steps:
      - name: Send email notification
        uses: mybank/betech/emailnotification@mm365
        with:
          envName: "${{ inputs.ENVIRONMENT }}"
          EmailList: "knowyrtech@mybank.com"
          comments: "These comments are passed to composite actions"

2. 复合Action的action.yml字符串解析错误

报错指向的第40-41行,是PowerShell命令的引号嵌套混乱导致YAML解析失败:原命令中-sAccordingToEnvironment '"Recycle completed for "${{inputs.envName}}" environment"'的多层引号嵌套触发了YAML的解析歧义。

修正后的run步骤:

runs:
  using: composite
  steps:
    - name: Trigger Email Notification
      run: |
           set-location "${{ github.workspace }}\betech\scripts"
           Write-Host "./ApprovalActions.ps1 -sEnv ""${{inputs.envName}}"" -sApprovers ""${{ inputs.EmailList }}"" -sAccordingToEnvironment ""Recycle completed for ${{inputs.envName}} environment"""
           ./ApprovalActions.ps1 -sEnv "${{inputs.envName}}" -sApprovers "${{ inputs.EmailList }}" -sAccordingToEnvironment "Recycle completed for ${{inputs.envName}} environment"

注:在YAML多行字符串中,用双引号转义内部双引号,同时简化参数的引号结构,避免解析冲突

二、能否调用非action.yml命名的复合Action?

可以。GitHub Actions支持指定自定义命名的Action清单文件,只需在uses字段中明确标注文件路径及名称:

  • 引用仓库中自定义命名的Action:
    uses: mybank/betech/emailnotification/custom-action.yml@mm365
    
  • 引用同一仓库内本地的自定义Action:
    uses: ./path/to/your-custom-action.yml
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 23:23:38