首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在GitHub操作工作流中获取请求号

如何在GitHub操作工作流中获取请求号
EN

Stack Overflow用户
提问于 2019-11-27 19:13:51
回答 5查看 17.2K关注 0票数 32

我想访问Github操作工作流中的拉请求号。我可以访问可用的GITHUB_REF环境变量。尽管对于拉请求操作,它的值是:"refs/ Pull /125/merge“。我只需要提取"125“。

我发现了一个类似的post 这里,它展示了如何使用这个变量获得当前分支。尽管在这种情况下,我解析的内容是不同的,并且我无法隔离拉请求号。

我尝试使用{GITHUB_REF##**/},它解析为“合并”,我也尝试了{GITHUB_REF#*/},它解析为“拉/125/合并”。

我只需要拉请求号(在我的例子中是125)。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2020-06-17 18:34:10

虽然已经回答了这个问题,但我发现最简单的方法是使用github上下文。下面的示例演示如何将其设置为环境变量。

代码语言:javascript
代码运行次数:0
运行
复制
env:
  PR_NUMBER: ${{ github.event.number }}
票数 61
EN

Stack Overflow用户

发布于 2021-11-11 23:55:14

如果您想找出提交在push上链接到哪个PR,而不是pull_request事件,那么另一个选择是使用gh CLI 它包含在标准的GitHub动作图像中。

例如:

代码语言:javascript
代码运行次数:0
运行
复制
      - 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 }}

一定要在工作中添加权限

然后在下面的步骤中,您可以使用变量访问它,

代码语言:javascript
代码运行次数:0
运行
复制
${{ steps.pr.outputs.pull_request_number }}
票数 9
EN

Stack Overflow用户

发布于 2020-03-17 13:28:28

而萨米拉的回答是正确的。我发现有一种新的方法来做到这一点,并希望与任何人分享,谁可能会发现这一点。

解决方案是在您的工作流开始时添加一个阶段,该阶段从Github令牌(event)中获取PR号,然后将其设置为一个环境变量,以便在整个工作流的其余部分中方便地使用。以下是代码:

代码语言:javascript
代码运行次数:0
运行
复制
  - 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来访问前面设置的环境变量。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59077079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档