将卡片添加到项目板列时删除标签

您可以使用 GitHub Actions 在议题或拉取请求添加到项目板上的特定列时自动删除标签。

GitHub Actions 可用于 GitHub Free、GitHub Pro、组织的 GitHub Free、GitHub Team、GitHub Enterprise Cloud 和 GitHub AE。 GitHub Actions 不适用于使用旧版按仓库计划的帐户所拥有的私有仓库。

注:GitHub Enterprise Server 2.22 上的 GitHub Actions 支持是有限的公测版。 测试已结束。 GitHub Actions 现在一般可用于 GitHub Enterprise Server 3.0 或更新版本。 更多信息请参阅 GitHub Enterprise Server 3.0 发行说明


注: GitHub 托管的运行器目前在 GitHub Enterprise Server 上不受支持。 您可以在 GitHub 公共路线图 上查看有关未来支持计划的更多信息。

简介

本教程演示如何使用 andymckay/labeler 操作以及条件从议题中删除添加到项目板上特定列中的标签和拉取请求。 例如,您可以在项目卡移到 Done 列时删除 needs review 标签。

在教程中,您将先创建一个使用 andymckay/labeler 操作的工作流程文件。 然后,您将自定义工作流以适应您的需要。

创建工作流程

  1. 选择要应用此项目管理工作流程的仓库。 您可以使用您有写入权限的现有仓库,或者创建一个新的仓库。 关于创建仓库的更多信息,请参阅“创建新仓库”。

  2. 选择属于仓库的项目。 此工作流程不能用于属于用户或组织的项目。 您可以使用现有项目,也可以创建新项目。 有关创建项目的更多信息,请参阅“创建项目板”。

  3. 在您的仓库中,创建一个名为 .github/workflows/YOUR_WORKFLOW.yml的文件,将 YOUR_WORKFLOW 替换为您选择的名称。 这是一个工作流程文件。 有关在 GitHub 上创建新文件的更多信息,请参阅“创建新文件”。

  4. 将以下 YAML 内容复制到工作流程文件中。

    YAML
    name: Remove labels
    on:
      project_card:
        types:
          - moved
    jobs:
      remove_labels:
        if: github.event.project_card.column_id == '12345678'
        runs-on: ubuntu-latest
        steps:
          - name: remove labels
            uses: andymckay/labeler@master
            with:
              remove-labels: "needs review"
              repo-token: ${{ secrets.GITHUB_TOKEN }}
  5. 自定义工工作流程文件中的参数:

    • github.event.project_card.column_id = "12345678"中,将 12345678 替换为要取消标记移至其中的议题和拉取请求的列 ID。

      要查找列 ID,请导航到您的项目板。 在列标题旁边,请单击 ,然后单击 Copy column link(复制列链接)。 列 ID 是复制的链接末尾的数字。 例如,24687531https://github.com/octocat/octo-repo/projects/1#column-24687531 的列 ID。

      如果您想要在多个列上操作,请用 || 分隔条件。 例如,只要项目卡添加到列 12345678 或列 87654321,就会使用 if github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321'。 这些列可能在不同的项目板上。

    • remove-labels 的值更改为您想要从移至指定列的议题或拉请求中删除的标签列表。 使用逗号分隔多个标签。 例如 "help wanted, good first issue"。 有关标签的更多信息,请参阅“管理标签”。

  6. 将工作流程文件提交到仓库的默认分支。 更多信息请参阅“创建新文件”。

测试工作流程

每次仓库中项目上的项目卡移动时,此工作流程都会运行。 如果卡是议题或拉取请求,并移入您指定的列,则工作流程将从问题或拉取请求中删除指定的标签。 记事卡不会受到影响。

通过将项目上的议题移到目标列中来测试工作流程。

  1. 在仓库中打开一个议题。 更多信息请参阅“创建议题”。
  2. 用标签标记您想要工作流程删除的议题。 更多信息请参阅“管理标签”。
  3. 将议题添加到您在工作流程文件中指定的项目列。 更多信息请参阅“添加议题和拉取请求到项目板”。
  4. 要查看通过将议题添加到项目所触发的工作流程运行,请查看工作流程运行的历史记录。 更多信息请参阅“查看工作流程运行历史记录”。
  5. 当工作流程完成时,您添加到项目列的议题应已删除指定的标签。

后续步骤

  • 要详细了解可以使用 andymckay/labeler 操作执行的其他事务,如添加标签或者在议题分配或具有特定标签时跳过此操作,请访问 andymckay/labeler 操作文档
  • 搜索 GitHub 以查看使用此操作的工作流程示例。

此文档对您有帮助吗?隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。