🕝

GitHub Actionsでpull requestの番号を取得する

2021/06/07に公開

GitHubのページで #33 のように表示されている、何番目に出したpull requestかの番号を、GitHub Actionsのワークフローにて取得する方法です。書きなぐりのメモです。

GITHUB_REF

答えは GITHUB_REF です。
https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request

GITHUB_REF の値が refs/pull/:prNumber/merge の形式になります。例えば refs/pull/33/merge など。

前提として、on: pull_request である必要があります。

Bash

以下、GITHUB_REF から数値部分だけを取り出す方法も書き残しておきます。

runs-on: ubuntu 又は macos 向けです。

# 挙動の確認
$ echo "refs/pull/33/merge" | sed -e 's/[^0-9]//g'
33

# 実際の使われ方
NUMBER=$(echo $GITHUB_REF | sed -e 's/[^0-9]//g')

PowerShell

runs-on: windows 向けです。

# 挙動の確認
PS> "refs/pull/33/merge" -replace "[\D]"
33

# 実際の使われ方
PS> $NUMBER = $env:GITHUB_REF -replace "[\D]"

Discussion