我最近开始在我的项目中使用一些 GitHub 操作。我可以将它们设置为自动运行,但很难让它们手动运行。我知道您需要在“on”部分中包含“workflow_dispatch”。我不确定它是否不起作用,因为我也让它自动运行。有人能告诉我我做错了什么吗?
这是我的工作流程 YAML 文件之一
name: Create-Doc-Nightly
on:
push:
branches: [ "nightly" ]
paths:
- 'src/**'
- 'pom.xml'
workflow_dispatch:
jobs:
doc:
name: Create Doc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
name: Step 1 - Checkout Nightly Branch
with:
persist-credentials: false
fetch-depth: 0
- name: Step 2 - Setup JDK 17
uses: actions/[email protected]
with:
java-version: 17
distribution: 'temurin'
- name: Step 3 - Remove Doc
run: |
git remote set-url origin https://jnstockley:${{ secrets.TOKEN }}@github.com/jnstockley/BTTN.git
git config user.email "[email protected]"
git config --local user.name "Jack Stockley"
git rm -r docs
git commit -m "Removed Docs"
git push origin nightly
- name: Step 4 - Create Doc
run: mvn dokka:dokka -f pom.xml
- name: Step 5 - Move Docs
run: |
rm -rf docs
mkdir -p docs
mv target/dokka/* docs
- name: Step 6 - Publish docs
run: |
git remote set-url origin https://jnstockley:${{ secrets.TOKEN }}@github.com/jnstockley/BTTN.git
git config user.email "[email protected]"
git config --local user.name "Jack Stockley"
git add -f docs
git commit -m "Updated Docs"
git push origin nightly
链接到 GitHub 存储库,每晚分支:https://github.com/jnstockley/BTTN/tree/nightly
工作流程必须位于您的默认分支上才能使用
workflow_dispatch
。
我相信在你的情况下它只在分支
nightly
上,而它也应该在main
上。
要手动触发工作流程,请使用workflow_dispatch事件。您可以使用 GitHub API、GitHub CLI 或 GitHub 浏览器界面手动触发工作流运行。有关更多信息,请参阅手动运行工作流程
on: workflow_dispatch
您可以直接在工作流程中配置自定义输入属性、默认输入值以及事件所需的输入。当您触发事件时,您可以提供引用和任何输入。当工作流运行时,您可以访问输入上下文中的输入值。有关更多信息,请参阅上下文
此示例定义了名为
logLevel
、tags
和 environment
的输入。运行工作流时,您可以将这些输入的值传递给工作流。然后,此工作流程使用 inputs.logLevel
、inputs.tags
和 inputs.environment
上下文属性将值打印到日志。
on:
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
type: choice
options:
- info
- warning
- debug
tags:
description: 'Test scenario tags'
required: false
type: boolean
environment:
description: 'Environment to run tests against'
type: environment
required: true
jobs:
log-the-inputs:
runs-on: ubuntu-latest
steps:
- run: |
echo "Log level: $LEVEL"
echo "Tags: $TAGS"
echo "Environment: $ENVIRONMENT"
env:
LEVEL: ${{ inputs.logLevel }}
TAGS: ${{ inputs.tags }}
ENVIRONMENT: ${{ inputs.environment }}
如果您从浏览器运行此工作流程,则必须在工作流程运行之前手动输入所需输入的值。
您可能喜欢以下文档链接
简单的例子。
on:
workflow_dispatch: null
push:
branches:
- main
paths:
- 'apt.txt'