Skip to content
Latchkey

GitHub Actions のステップ output とは?

ステップ output はステップが GITHUB_OUTPUT ファイルに書き込む値で、後続のステップが steps コンテキストを通じて読み取れます。

ステップは、タグ、パス、フラグなど後続ステップが必要とする何かを計算することがよくあります。ステップ output は、それらの値をジョブ内で渡すサポートされた方法であり、古い set-output コマンドを置き換えます。

概要

ステップが GITHUB_OUTPUT 内のファイルに追記する name=value ペアです。後続ステップが steps.<id>.outputs.<name> として参照できるよう、そのステップには id が必要です。

Setting and reading
steps:
  - id: meta
    run: echo "tag=v1.2.3" >> "${GITHUB_OUTPUT}"
  - run: echo "Tag is ${{ steps.meta.outputs.tag }}"

仕組み

GitHub はステップの終了後に GITHUB_OUTPUT ファイルを読み取り、その値をジョブの残りの部分に向けて steps コンテキスト上で利用可能にします。

ステップ output と ジョブ output

ステップ output は 1 つのジョブ内でのみ参照できます。別のジョブと値を共有するには、ステップ output をジョブ output にマッピングし、needs を通じて読み取ります。

重要な理由

ステップ output は、計算した値をジョブ内で受け渡す、きれいでサポートされた方法です。古い ::set-output:: コマンドは非推奨のため、GITHUB_OUTPUT への書き込みが現在の標準です。

関連する概念

ステップ output はジョブ output に供給され、steps コンテキストを通じて読み取られます。GITHUB_ENV のような特別なファイルを使います。

重要なポイント

  • ステップ output は GITHUB_OUTPUT に書き込まれます。
  • steps.<id>.outputs.<name> で読み取ります。
  • ジョブローカルです。ジョブをまたぐにはジョブ output に昇格させます。

関連ガイド