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

GitHub Action workflow_dispatch配置及API触发请求报错解决方法

你混淆了workflow_dispatch和repository_dispatch两个事件的API请求规范,当前用的event_type、client_payload是repository_dispatch的专用参数,workflow_dispatch接口不识别这两个字段,同时你漏了workflow_dispatch要求的必填顶层参数ref。

workflow_dispatch 触发规则配置说明

你现有的Workflow配置本身符合基础要求,以下是完整规范参考:

name: Run Workflow Dispatch

on: 
  workflow_dispatch:
    # 定义触发时可传入的输入参数,可自定义多个
    inputs:
      version:
        description: '版本号'     
        required: true # 标记是否必填
        default: 'latest' # 非必填项可设置默认值

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: 拉取代码
      uses: actions/checkout@v4 # 建议升级到最新稳定版v4

    # 传入的参数通过 github.event.inputs.参数名 调用
    - run: |
        echo "version: ${{ github.event.inputs.version }}"
合法的触发请求构造

workflow_dispatch的触发接口仅接受两个顶层参数:

  • ref:必填,指定要触发工作流的分支/标签名称,比如main、v1.0.0
  • inputs:可选,对应Workflow中定义的输入参数,键名要和Workflow中定义的完全一致

正确的curl请求示例如下:

curl -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer 你的GitHub个人访问令牌" \
  https://api.github.com/repos/你的用户名/你的仓库名/actions/workflows/workflow_dispatch.yml/dispatches \
  --data '{"ref": "main", "inputs": {"version": "v1.2.3"}}'

如果要使用version参数的默认值,inputs字段可以省略:

curl -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer 你的GitHub个人访问令牌" \
  https://api.github.com/repos/你的用户名/你的仓库名/actions/workflows/workflow_dispatch.yml/dispatches \
  --data '{"ref": "main"}'

注意:你的GitHub个人访问令牌需要有repo scope权限才能触发工作流。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:15:03