如何在 'link Issue to PR' 上触发 Github 工作流程?

How to trigger Github workflows on 'link Issue to PR'?

我希望工作流在问题链接到 PR 后触发,但 github 似乎没有提供此选项。有人对此有解决方法吗?

没有特定的触发器来实现它,但应该可以通过组合事件触发器来实现。

on:
  pull_request:
    types: [ edited, labeled ]
    branches:    
      - main
  issue:
    types:
      - opened
      - labeled
   

我昨天遇到了这个问题,决定重构一个已经在我的一个项目中实现的解决方案,并为此提出了一个 GitHub 行动:https://github.com/marketplace/actions/validate-issues-over-pull-requests

您可以创建一个包含以下内容的新工作流:

name: PR has a valid Issue?

on:
  pull_request_target:
    types: [ edited, synchronize, opened, reopened ]

jobs:
  checker:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      
      - name: Issue Validator
        uses: HarshCasper/validate-issues-over-pull-requests@v0.1.1
        id: validator
        with:
          prbody: ${{ github.event.pull_request.body }}
          prurl: ${{ github.event.pull_request.url }}

基于 steps.validator.outputs.valid 值(链接问题时可以是 1 或不链接问题时可以是 0),您可以触发工作流你的选择。

现在,如果 PR 作者在 PR 正文中明确提到 Fixes #XYZResolves #XYZ,它将起作用。目前不支持将问题明确链接到合并请求。

如果您希望对某个问题采取一些措施,例如标记,您可以使用 GitHub 的 CLI gh 实用程序来实现此目的。如果您想拥有任何特定功能,我很乐意为您服务!