工作流程未显示,因此我无法手动运行它(Github Actions)。

29

我创建了名为Test的工作流,但没有手动运行它的运行工作流按钮。

输入图像描述

这是我的test.yml文件。是否还有什么遗漏?

name: Test

on:
  release:
    types: [created]
  
jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Run a one-line script
        run: echo Hello, world!
3个回答

62

某些工作流程(例如基于 workflow_dispatch 事件的工作流程),在代码合并到主分支(或默认分支)之前,该工作流程甚至不会显示出来

好消息是,一旦你将功能合并到 main 分支,你可以继续在功能分支上工作。从那时起,你将有选择哪个分支运行工作流程的选项,就像图片中所示。

select workflow config based on branch


有没有办法通过 GitHub REST API 运行工作流程?注意:这不是重新运行作业,我需要运行工作流程。 - microset
我对这个问题有了解决方案。 - microset
我尝试了microset的解决方案,但是“gh workflow list”只显示我已经可以通过GH运行的工作流程,而不是主分支上没有的新的workflow_dispatch。 - AdamC

25

您需要将workflow_dispatch:放在on:下面。

name: Test

on:
  release:
    types: [created]
  workflow_dispatch: # Put here!!
  
jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Run a one-line script
        run: echo Hello, world!

然后会显示一个“运行工作流程”的按钮。

enter image description here

enter image description here

release:之前放置workflow_dispatch:也可以。它同样有效。

name: Test

on:
  workflow_dispatch: # Putting here is also fine!!
  release:
    types: [created]
  
jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Run a one-line script
        run: echo Hello, world!

1
这是最清晰的答案。 - Eat at Joes
1
我同意@EatatJoes的观点。这个答案清楚地展示了该怎么做。这应该是被采纳的答案。 - Kent Bull
1
我已经放置了,但是仍然没有“运行工作流”按钮。可能的原因是什么? - mecdeality

9
on:
  workflow_dispatch: {}
  push:
    branches:
      - 'feature/name-of-feature-branch'

push时触发工作流,并在branches:下定义您的分支。当您的开发完成并准备好合并到主分支时,请删除不必要的代码。

on:
  workflow_dispatch: {}

我认为这应该是被接受的答案 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接