在Actions选项卡中未显示手动触发按钮
我正在尝试在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 }}"
我已经检查的内容:
- 该文件位于
.github/workflows/validate.yml。 - 我已经导航到Actions > Run build and unit tests,但没有出现 “Run workflow” 下拉菜单。
- 该工作流文件当前位于一个feature分支,尚未合并到
main。
我的问题:
- 这对于启用手动触发来说,是不是
workflow_dispatch的正确语法? - 即使我想从feature分支运行,首次按钮出现之前,工作流文件是否必须存在于默认分支?
- 是否有任何特定权限需要才能看到 “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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。