如何获取PR(Pull Request)编号

3

我刚开始使用Pulumi并检查了许多文档和存储库,但就是找不到如何获取要使用的PR(Pull Request)编号。

我知道Pulumi生成一个名为ci.pr.number的环境变量/输出/配置。

我想使用该编号创建Azure资源组,例如rg-{appname}-{environment}-{pr number}。例如:rg-myapp-dev-022

上一次尝试是这样的:

var config = new Pulumi.Config();
var prNumber = config.Require("ci.pr.number");

提前感谢!

PS:我正在使用GitHub Actions来运行Pulumi。

1个回答

2
如果您想在Pulumi程序运行时使用PR号码,您需要从GitHub Actions运行时环境中读取它; Pulumi不会将其写入堆栈配置。 GitHub Actions公开了一个上下文API,假设您可以对工作流本身进行小的修改,则这使得操作相当简单。以下是包含一步将PR号码提取到环境变量(PR_NUMBER)中并在几个脚本(首先是Bash,然后是Node.js)中使用它的PR工作流示例:
name: My Workflow
on:
  pull_request:
    branches:
      - master
jobs:
  build:
    name: Do Things
    runs-on: ubuntu-18.04
    steps:
      - name: Install Node
        uses: actions/setup-node@v1
        with:
          node-version: '14.x'

      - name: Check out branch
        uses: actions/checkout@v2

      - name: Read the PR number
        env:
          PR_NUMBER: ${{ github.event.number }}
        run: |
          echo "From Bash: ${PR_NUMBER}"
          node -e "console.log('From Node:', process.env.PR_NUMBER);"

GHA输出

我没有方便验证相关的C#代码,但看起来您应该可以使用System.Environment.GetEnvironmentVariable("PR_NUMBER")来实现此操作。

https://learn.microsoft.com/en-us/dotnet/api/system.environment.getenvironmentvariable


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接