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

问题描述 投票:0回答:1

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

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

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

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

docker github github-actions docker-registry
1个回答
7
投票

我使用此实现成功从 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/[email protected]
        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 }}

我还让

pull_request
工作来展示如何从这个事件中获取它(如果你想比较当你意识到推送到一个已经打开的PR时)。

部分解决方案已在此处共享,但您还需要将

actions/checkout
添加到作业步骤,否则 gh cli 无法识别该存储库。

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

© www.soinside.com 2019 - 2024. All rights reserved.