我想访问Github操作工作流中的拉请求号。我可以访问可用的GITHUB_REF环境变量。尽管对于拉请求操作,它的值是:"refs/ Pull /125/merge“。我只需要提取"125“。
我发现了一个类似的post 这里,它展示了如何使用这个变量获得当前分支。尽管在这种情况下,我解析的内容是不同的,并且我无法隔离拉请求号。
我尝试使用{GITHUB_REF##**/},它解析为“合并”,我也尝试了{GITHUB_REF#*/},它解析为“拉/125/合并”。
我只需要拉请求号(在我的例子中是125)。
发布于 2020-06-17 10:34:10
虽然已经回答了这个问题,但我发现最简单的方法是使用github上下文。下面的示例演示如何将其设置为环境变量。
env:
PR_NUMBER: ${{ github.event.number }}
发布于 2021-11-11 15:55:14
如果您想找出提交在push
上链接到哪个PR,而不是pull_request
事件,那么另一个选择是使用gh
CLI 它包含在标准的GitHub动作图像中。。
例如:
- name: Get Pull Request Number
id: pr
run: echo "::set-output name=pull_request_number::$(gh pr view --json number -q .number || echo "")"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
一定要在工作中添加权限。
然后在下面的步骤中,您可以使用变量访问它,
${{ steps.pr.outputs.pull_request_number }}
发布于 2020-03-17 05:28:28
而萨米拉的回答是正确的。我发现有一种新的方法来做到这一点,并希望与任何人分享,谁可能会发现这一点。
解决方案是在您的工作流开始时添加一个阶段,该阶段从Github令牌(event)中获取PR号,然后将其设置为一个环境变量,以便在整个工作流的其余部分中方便地使用。以下是代码:
- name: Test
uses: actions/github-script@0.3.0
with:
github-token: ${{github.token}}
script: |
const core = require('@actions/core')
const prNumber = context.payload.number;
core.exportVariable('PULL_NUMBER', prNumber);
现在,在以后的任何阶段,您可以简单地使用$PULL_NUMBER来访问前面设置的环境变量。
https://stackoverflow.com/questions/59077079
复制相似问题