commit hashを使用して、status check apiを叩きたい場合に有効です。
GitHub ActionsのPull Rquestの、${{ github.sha }}
は、マージ先とマージしたcommit hashが入っているため、元のcommitのhashではありません。そのため、1つ前のコミットを取得する必要があります。
以下のコードでstepの出力に入れます。
pushイベントも考慮しています。
checkoutのdepthは2にしておく必要があります。
if "${{ github.event_name }}" == "pull_request"; then # pull_requestはマージコミットが取得されるので、マージ前のコミットを見る HASH=$(git log --pretty=format:"%H" -n 2 | tail -n 1) else HASH="${{ github.sha }}" fi echo hash=$HASH echo "value=$HASH" >> $GITHUB_OUTPUT
P.S.
github contextを確認した所、${{ github.event.after }}
で取得できると思ったのですが、PRを開いた初回コミットだと値がありませんでした。