ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

GitHub Actionsの開発ツール

GitHub が開発したツールや機能を使って、アクションをより素早く作成できます。

GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. GitHub Actions is unavailable for per-repository plans, which are legacy billing plans. For more information, see "GitHub's products."

ここには以下の内容があります:

GitHub Actions の Node.js ツールキット

Node.js プロジェクトを作成する場合、アクションツールキットで提供するパッケージを使って、開発の速度を上げることができます。 詳しい情報については、actions/toolkit リポジトリ以下を参照してください。

JavaScript または Docker コンテナアクションテンプレートリポジトリを使ってリポジトリを作成することにより、作業を素早く始めることができます。 詳しい情報については、「JavaScript のアクションテンプレート」、「Docker コンテナのアクションテンプレート」、および「テンプレートからリポジトリを作成する」を参照してください。

ログを取得するコマンド

アクションは、 環境変数を設定する、他のアクションに利用される値を出力する、デバッグメッセージを出力ログに追加するなどのタスクを行うため、GitHub にホストされた仮想マシンとやりとりできます。

ログを取得するコマンドは、特定のフォーマットで echo コマンドを使います。

echo "::log-command parameter1={data},parameter2={data}::{command value}"

注釈: ログコマンドおよびパラメータ名では、大文字と小文字は区別されません。

警告: コマンドプロンプトを使っているなら、ロギングコマンドを使う際にダブルクォート文字(")は省いてください。

GitHub Actions には、さまざまなコマンドがあります。

環境変数の設定: set-env

::set-env name={name}::{value}

ジョブの中で次に実行される任意のアクションの環境変数を作成または更新します。 環境変数を作成または更新するアクションは、新しい値にアクセスできませんが、ジョブの中でそれ以降に続くすべてのアクションは、その新しい値にアクセスできます。 環境変数では、大文字と小文字が区別され、句読点を含めることができます。

サンプル
echo "::set-env name=action_state::yellow"

パラメータの設定: set-output

::set-output name={name}::{value}

アクションの出力パラメータを設定します。 出力パラメータは、アクションのメタデータファイルに定義されます。 詳しい情報については、「GitHub Actions のメタデータ構文」を参照してください。

アクションのメタデータファイルで宣言されていない出力値を設定しようとすると、エラーが表示されます。

サンプル
echo "::set-output name=action_fruit::strawberry"

システムパスの追加: add-path

::add-path::{path}

現在のジョブ内にある、続くすべてのアクションにおいて、システム PATH 変数の前に、ディレクトリを付加します。 現在実行中のアクションは、新しいパス変数にアクセスできません。

サンプル
echo "::add-path::/path/to/dir"

デバッグメッセージの設定: debug

::debug::{message}

デバッグメッセージをログに出力します。 ログでこのコマンドにより設定されたデバッグメッセージを表示するには、ACTIONS_STEP_DEBUG という名前のシークレットを作成し、値を true に設定する必要があります。 シークレットの作成およびステップにおける利用にに関する詳しい情報については、「GitHub Actions の仮想環境」を参照してください。

サンプル
echo "::debug file=app.js,line=1::Entered octocatAddition method"

警告メッセージの設定: warning

::warning file={name},line={line},col={col}::{message}

警告メッセージを作成し、ログにそのメッセージを出力します。 警告が発生する場所を、ファイル名 (file)、行番号 (line)、および列 (col) 番号で指定することもできます。

サンプル
echo "::warning file=app.js,line=1,col=5::Missing semicolon"

エラーメッセージの設定: error

::error file={name},line={line},col={col}::{message}

エラーメッセージを作成し、ログにそのメッセージを出力します。 警告が発生する場所を、ファイル名 (file)、行番号 (line)、および列 (col) 番号で指定することもできます。

echo "::error file=app.js,line=10,col=15::Something went wrong"

ログの値のマスク: add-mask

::add-mask::{value}

値をマスクすることにより、文字列または値がログに出力されることを防ぎます。 空白で分離された、マスクされた各語は "*" という文字で置き換えられます。 マスクの value には、環境変数または文字列を持ちいることができます。

文字列をマスクするサンプル

ログに "Mona The Octocat" を出力すると、"***" が表示されます。

echo "::add-mask::Mona The Octocat"
環境変数をマスクするサンプル

変数 MY_NAME または値 "Mona The Octocat" をログに出力すると。"Mona The Octocat" の代わりに "***" が表示されます。

MY_NAME="Mona The Octocat"
echo "::add-mask::$MY_NAME"

ログコマンドの停止と開始: stop-commands

::stop-commands::{endtoken}

任意のログ取得コマンドの処理を停止します。 この特別なコマンドは、ログコマンドを誤って実行することなしに、どんなログでも取得できます。 たとえば、コメントがあるスクリプト全体を出力するためにログ取得を停止できます。

ログコマンド停止のサンプル
echo "::stop-commands::pause-logging"

ログコマンドを開始するには、ログ取得の停止に使ったトークンを渡します。

::{endtoken}::

ログコマンド開始のサンプル
echo "::pause-logging::"

終了コードを使用してアクションのステータスを設定する

GitHubは、終了コードを使用してGitHub Actionのチェック実行ステータスを設定します。ステータスはsuccessfailureのいずれかです。

終了ステータス チェック実行ステータス 説明
0 success アクションが正常に完了し、それに依存する他のタスクを開始できます。
0 以外の値 failure その他の終了コードは、アクションの失敗を表します。 アクションが失敗すると、同時に実行されていたアクションはすべてキャンセルされ、今後のアクションはスキップされます。 チェック実行とチェックスイートはどちらも、failureステータスになります。

JavaScript アクションで失敗終了を設定する

JavaScript アクションを作成している場合、アクションツールキットの @actions/core パッケージを使用してメッセージをログに記録し、失敗終了コードを設定できます。 例:

try {
  // something
} catch (error) {
  core.setFailed(error.message);
}

詳しい情報については「JavaScript アクションを作成する」を参照してください。

Docker コンテナアクションで失敗終了コードを設定する

Docker コンテナアクションを作成している場合、失敗終了コードを entrypoint.sh スクリプトに設定できます。 例:

if <condition> ; then
  echo "Game over!"
  exit 1
fi

詳しい情報については「Docker コンテナアクションを作成する」を参照してください。

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください