从推送事件中获取 PR 号码?

Pro*_*Luo 7 github docker docker-registry github-actions

我现在设置了两个 GitHub 操作工作流程。一个将图像发布到 jfrog 注册表,另一个将带有新标签的图像提升到 jfrog 工件。

我正在尝试在推送工作流程中使用 github.event.number 但由于某种原因,如果它不是正在发出的 pull_request,则无法获取 PR 编号...因此我收到错误:

“来自守护程序的错误响应:(公司 jfrog 工件 url)的清单 - 未找到:清单未知:注册表未知指定的清单。

有人知道这有什么解决方法吗?

Gui*_*urd 8

我使用此实现成功从 PUSH 事件中获取了 PR 编号:

name: Get PR Number on PUSH event

on: [push, pull_request]

jobs:
  push:
    runs-on: ubuntu-latest
    if: ${{ github.event_name == 'push' }}
    steps:
      - uses: actions/checkout@v2.3.4
        with:
          fetch-depth: 0
      - name: Get Pull Request Number
        id: pr
        run: echo "pull_request_number=$(gh pr view --json number -q .number || echo "")" >> $GITHUB_OUTPUT
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - run: echo ${{ steps.pr.outputs.pull_request_number }}

  pull-request:
    runs-on: ubuntu-latest
    if: ${{ github.event_name == 'pull_request' }}
    steps:
      - run: echo ${{ github.event.number }}
Run Code Online (Sandbox Code Playgroud)

我还让该pull_request作业展示了如何从该事件中获取它(如果您想比较何时实现对已打开的 PR 的推送)。

部分解决方案已在此处共享,但您还需要将其添加actions/checkout到作业步骤中,否则 gh cli 无法识别该存储库。

您可以在此处检查 2 个工作流程运行: