当拉取请求具有特定标签时运行Github操作

当拉取请求具有特定标签时运行Github操作,github,yaml,github-actions,Github,Yaml,Github Actions,在阅读了的文档之后,我想知道是否可以使用给定的标签名运行工作流,如RFR或WIP 我知道我们可以在标记pull请求时运行工作流,但对于特定的标签名称,没有其他要求: on: pull_request: types: [labeled] 以前有人这样做过吗?您可以通过使用以下条件表达式运行工作流来标记拉取请求 if: ${{ github.event.label.name == 'label_name' }} 因此,如果您的GitHub操作配置如下所示 name: CI on:

在阅读了的文档之后,我想知道是否可以使用给定的标签名运行工作流,如RFR或WIP

我知道我们可以在标记pull请求时运行工作流,但对于特定的标签名称,没有其他要求:

on:
  pull_request:
    types: [labeled]

以前有人这样做过吗?

您可以通过使用以下条件表达式运行工作流来标记拉取请求

if: ${{ github.event.label.name == 'label_name' }}
因此,如果您的GitHub操作配置如下所示

name: CI

on:
  pull_request:
    types: [ labeled ]

jobs:
  build:
    if: ${{ github.event.label.name == 'bug' }}
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Run a one-line script
      run: echo Hello, world!
每当标记PR时,它都会触发工作流,并且仅当标签是
bug
时才运行作业,如果标签是其他任何内容,它将跳过。您还可以使用
github.event.action=='labeled'
作为额外检查,但如果您只有
类型:[labeled]
用于上面配置中所示的
pull\u请求
,则不需要这样做

注意:仅供参考,github事件包含以下关于标签的信息(为了简洁起见,删除了不相关的数据),以防标记PR

"event": {
    "action": "labeled",
    "label": {
      "color": "d73a4a",
      "default": true,
      "description": "Something isn't working",
      "id": 1519136641,
      "name": "bug",
      "node_id": "abcd",
      "url": "https://api.github.com/repos/owner/repo/labels/bug"
    }
}

GitHub操作文档关于条件表达式的内容是。

谢谢,我认为这是现在最好的方法,希望GitHub稍后添加此功能!多个标签是什么。例如,如果我的PR有两个标签,例如
bug
security
。此方法有效吗?@Markus此方法将触发每个标签事件的工作流,当您有多个标签时也有效。太糟糕了,我们只能在标签事件上运行。我希望它可以继续运行操作,只要标签仍然分配给PR>