如何获取 github 操作工作流推送中合并的分支的 SHA?

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

我想知道是否可以从 github 操作工作流程中的分支 merged from 获取 sha?我有一个 github 操作工作流程推送事件,就像我可以在其中获取合并到的分支的提交 sha(此处为 master),但想知道合并的分支。

name: Merge PR
on:
  push:
    branches:
      - master

jobs:
  check:
    run: echo "Merge sha ${{ github.sha }}"

merge github-actions pull-request sha
1个回答
0
投票

要提取合并的分支,您可以使用 GitHub REST API 获取有关推送事件对应的拉取请求的信息。

name: Merge PR

on:
  push:
    branches:
      - master

jobs:
  check:
    runs-on: ubuntu-latest

steps:
  - name: Checkout repository
    uses: actions/checkout@v2

  - name: Get PR Number
    id: pr_number
    run: echo "::set-output name=number::${{ github.event.pull_request.number }}"

  - name: Get Branch Merged From
    id: branch_merged_from
    run: |
      PR_NUMBER="${{ steps.pr_number.outputs.number }}"
      API_URL="https://api.github.com/repos/${{ github.repository }}/pulls/${PR_NUMBER}"
      BRANCH_MERGED_FROM=$(curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "$API_URL" | jq -r '.head.ref')
      echo "::set-output name=branch_merged_from::${BRANCH_MERGED_FROM}"
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  - name: Display Information
    run: |
      echo "Merged SHA: ${{ github.sha }}"
      echo "Merged From Branch: ${{ steps.branch_merged_from.outputs.branch_merged_from }}"

` 授予对 PR 和存储库元数据的适当读取权限。

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