GithubアクションでコミットSHAを取得する 質問する

GithubアクションでコミットSHAを取得する 質問する

Githubアクションでは、を使用してコミットSHAを取得できます${GITHUB_SHA}デフォルトの環境変数。ただし、このコミット SHA はマージ コミットのようです。PR の Github UI に表示されるコミット SHA と同じではありません。PR (Github UI) に表示される SHA を取得する方法について何か考えはありますか?

ベストアンサー1

何が起こるかを理解するために

参照:Githubコミュニティ投稿とともにweide-zhou (Github パートナー)答え。

プル リクエストを作成できる場合、github は偽のマージ ブランチに基づいてワークフローを実行します。refs/pull/:prNumber/mergemerge_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変数は空になることに注意してください (バグなのか、作業中のものなのかはわかりません)。

おすすめ記事