如何将手动工作流程运行附加到拉取请求的状态检查?

Not*_*otX 6 pull-request github-actions

我有一个工作流程,可以test在给定情况下自动运行作业,也可以手动运行它:

name: Test

on:
  workflow_dispatch:
    inputs:
      used-branch:
        description: Branch the test shall be run on
        default: master
        required: true
  push:
    branches: ['main', 'master']
    tags: ['!**']
  pull_request:
    types: [opened, reopened, ready_for_review]

jobs:
  test:
    steps:
      - name: Checkout selected branch
        uses: actions/checkout@v3
        if: inputs.used-branch != ''
        with:
          ref: ${{ github.event.inputs.used-branch }}
      - name: Checkout current branch
        uses: actions/checkout@v3
        with:
          ref: ${{github.ref}}
        if: inputs.used-branch == ''
      - name: Run test
        ...
Run Code Online (Sandbox Code Playgroud)

我希望在合并之前需要进行测试。Require status check to pass before merging因此,我检查并在存储库的分支设置中Require branches to be up to date before merging指定为所需作业。test

问题是:当我手动运行工作流程(因此通过变量注入分支)时,它与分支无关,并且 PR 检查不会“发现”其成功。

是否有另一种方法将运行链接到分支,或者另一种方法将结果传播到分支的拉取请求?

Akn*_*sis 0

我花了一分钟来消化你的问题,但现在我明白了。(更新标题以更准确)。

简短的回答是,开箱即用是不可能的。一旦你开始研究 GitHub 的 API 设计,事情就会变得复杂。

我今天能想到的唯一可行的解​​决方案是通过 GitHub API。

看: