本人github
在GitHub Actions中,通常workflow是通过特定的事件(例如push、pull request等)来自动触发的。但是,GitHub也允许你手动触发workflow。下面是手动触发workflow的几种方法:
-
使用
workflow_dispatch
事件:- 你可以在workflow文件中使用
workflow_dispatch
事件来创建一个手动触发的workflow。以下是一个简单的示例:
name: Manual Workflow on: workflow_dispatch: inputs: name: description: 'Person to greet' required: true default: 'World' jobs: say_hello: runs-on: ubuntu-latest steps: - run: echo Hello ${{ github.event.inputs.name }}!
在这个示例中,
workflow_dispatch
事件使你能够从GitHub仓库的"Actions"标签页手动触发workflow。你甚至可以提供一些输入值,这些值将在workflow运行时可用。 - 你可以在workflow文件中使用
-
使用
repository_dispatch
事件:- 如果你想从外部系统手动触发workflow,你可以使用
repository_dispatch
事件。首先,你需要在你的workflow文件中配置repository_dispatch
事件,如下所示:
name: Repository Dispatch Workflow on: repository_dispatch: types: [manual-trigger] jobs: run: runs-on: ubuntu-latest steps: - run: echo "This workflow was triggered manually!"
然后,你可以使用GitHub API发送一个
repository_dispatch
事件到你的仓库,如下所示:curl -XPOST -u username:token \ -H "Accept: application/vnd.github.everest-preview+json" \ -H "Content-Type: application/json" \ https://api.github.com/repos/owner/repo/dispatches \ --data '{"event_type": "manual-trigger"}'
在这个命令中,
username
和token
是你的GitHub用户名和一个具有适当权限的personal access token,owner
和repo
是你的仓库的所有者和名称。 - 如果你想从外部系统手动触发workflow,你可以使用
这些方法可以使你能够在需要时手动触发GitHub Actions workflow,无论是通过GitHub界面还是通过外部系统。