在GitHub中获取PR编号或分支名称

时间:2020-09-10 17:29:05

标签: github github-actions

我正在尝试在合并到开发和主控中并根据PR请求部署无服务器应用程序。我希望阶段名称与分支名称或拉取请求编号相对应。

这是有问题的步骤,但是github.event.push.ref是整个分支的ref(即ref / head / master)等。我只想要“ master”或“ develop”。无论如何,是否可以使用以下相同的语法来获取pull_request号或分支名称?

      # Deploy API Tests
      - name: Deploy API
        run: yarn deploy --stage ${{ github.event.pull_request.number || github.event.push.ref }}
        working-directory: api

1 个答案:

答案 0 :(得分:0)

如果您使用的外壳是bash或其他POSIX外壳,则这样做很容易:

run: 'yarn deploy --stage $(echo "${{ github.event.pull_request.number || github.event.push.ref }}" | sed -e 's!^refs/heads/!!')'

这将除去refs/heads/前缀,而只留下分支名称。如果您没有使用PR,那么您也可以使用它,这会使Git将名称缩写为分支或标签名称:

run: 'yarn deploy --stage $(git rev-parse --abbrev-ref "${{ github.event.push.ref }}")'