Githubアクションでは、を使用してコミットSHAを取得できます${GITHUB_SHA}
。デフォルトの環境変数。ただし、このコミット SHA はマージ コミットのようです。PR の Github UI に表示されるコミット SHA と同じではありません。PR (Github UI) に表示される SHA を取得する方法について何か考えはありますか?
ベストアンサー1
何が起こるかを理解するために
参照:Githubコミュニティ投稿とともにweide-zhou (Github パートナー)答え。
プル リクエストを作成できる場合、github は偽のマージ ブランチに基づいてワークフローを実行します。
refs/pull/:prNumber/merge
はmerge_commit_sha
ベース ブランチまたはヘッド ブランチには存在しませんが、代理マージ コミットを指しており、テスト コミットのステータスを示す mergeable キーがあります。したがって、ここでは、 は
github.sha
実際のマージコミットを表します。
Github 変数
GitHub variables
ヒント:次の手順で印刷できます。
- name: Show GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
ここで欲しいのは価値のようです${{ github.event.pull_request.head.sha }}
。
の場合pull_request
、最新のコミットのハッシュは変数にあります${{ github.event.pull_request.head.sha }}
が、 は${{ github.sha }}
PR マージコミットを参照します。
pull_request がフォーク リポジトリに対して開かれている場合、github.event.pull_request
変数は空になることに注意してください (バグなのか、作業中のものなのかはわかりません)。