我想知道是否可以从 github 操作工作流程中的分支 merged from 获取 sha?我有一个 github 操作工作流程推送事件,就像我可以在其中获取合并到的分支的提交 sha(此处为 master),但想知道合并的分支。
name: Merge PR
on:
push:
branches:
- master
jobs:
check:
run: echo "Merge sha ${{ github.sha }}"
要提取合并的分支,您可以使用 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 和存储库元数据的适当读取权限。