在Actions选项卡中未显示手动触发按钮

编程语言 2026-07-12

我正在尝试在GitHub Actions中设置一个手动触发,以便按需构建并发布制品。我已经在我的工作流文件中添加了 workflow_dispatch 触发器,并带有一个布尔输入,但在GitHub UI中并未出现 “Run workflow” 按钮。

我的工作流配置 (.github/workflows/validate.yml):

name: Run build and unit tests

on:
  push:
    branches: [ "**" ]
  pull_request:
    branches: [ "**" ]
  workflow_dispatch:
    inputs:
      force_release:
        description: 'Force Alpha Release?'
        type: boolean
        default: false

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Build
        run: |
          echo "Building artifact..."
          echo "Force release is: ${{ github.event.inputs.force_release }}"

我已经检查的内容:

  1. 该文件位于 .github/workflows/validate.yml
  2. 我已经导航到Actions > Run build and unit tests,但没有出现 “Run workflow” 下拉菜单。
  3. 该工作流文件当前位于一个feature分支,尚未合并到 main

我的问题:

  1. 这对于启用手动触发来说,是不是 workflow_dispatch 的正确语法?
  2. 即使我想从feature分支运行,首次按钮出现之前,工作流文件是否必须存在于默认分支?
  3. 是否有任何特定权限需要才能看到 “Run workflow” 按钮?

解决方案

workflow_dispatch启用手动触发的语法是否正确?

是的,尽管在这一行有一个小的改进空间:

echo "Force release is: ${{ github.event.inputs.force_release }}"

更干净/更安全的做法是改为使用以下内容:

echo "Force release is: ${{ inputs.force_release }}"

这是因为 github.event.inputs 最终可能会被解析为字符串,而 inputs 能将布尔值保持为布尔值。

工作流文件在默认分支上存在与否对首次显示按钮有无影响(即使我想从feature分支运行)?

是的,工作流文件需要存在于默认分支,如GitHub官方文档所述(链接:https://docs.github.com/en/actions/how-tos/manage-workflow-runs/manually-run-a-workflow#running-a-workflow)

是否需要特定权限才能看到 “Run workflow” 按钮?

是的,你确实需要对仓库具备写权限,原因显而易见,同时要启用Actions;但除此之外,没有其他特定权限要求。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章