github-script について
`actions/github-script@v8` で実行する JavaScript の作成と確認に関するガイドです。GitHub Actions スクリプトの開発者向けに、ログ、入出力、ステップサマリー、エラー処理、型、検証コマンドを扱います。
主な機能
- 01`@actions/core` によるログ記録
- 02入力の取得と出力の設定
- 03ステップサマリーの作成
- 04エラーと型の処理
- 05型チェック、Lint、整形コマンド
活用シーン
- 01Action スクリプトへの入出力処理の追加
- 02Markdown ステップサマリーの作成
- 03スクリプトの失敗報告の統一
- 04TypeScript と整形変更の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ github/ gh-aw --skill github-scriptインストール後、Claude Code で/github-scriptを入力して読み込まれたか確認します。
詳細
GitHub Action スクリプトのベストプラクティス
actions/github-script@v8 で実行される JavaScript には、以下のガイドラインを使用してください。
重要な注意事項
- このアクションでは、
@actions/coreパッケージと@actions/githubパッケージがグローバルに提供されます @actions/coreの import または require を追加しないでください- リファレンスドキュメント:
ベストプラクティス
- ログには
console.logやconsole.errorではなく、core.info、core.warning、core.errorを使用してください - アクションの出力を設定するには
core.setOutputを使用してください - 後続のステップ用に環境変数を設定するには
core.exportVariableを使用してください - アクションの入力を取得するには
core.getInputを使用し、必須の入力にはrequired: trueを指定してください - エラーメッセージを付けてアクションを失敗としてマークするには
core.setFailedを使用してください
ステップのサマリー
core.summary.* 関数を使用して、ステップのサマリーファイルに出力を書き込みます。
- 生の Markdown コンテンツ(GitHub Flavored Markdown に対応)を追加するには
core.summary.addRaw()を使用してください - 保留中の書き込みを反映するため、
core.summary.write()を必ず呼び出してください - サマリー関数の呼び出しは連結できます。例:
core.summary.addRaw(...).addRaw(...).write()
よくあるエラー
- できる限り
any型は避け、代わりに具体的な型またはunknownを使用してください - Catch ハンドラーでは、
messageプロパティにアクセスする前に、エラーが Error のインスタンスかどうかを確認してください
catch (error) {
core.setFailed(error instanceof Error ? error : String(error));
}
core.setFailedはcore.errorも呼び出すため、両方を呼び出さないでください
型チェック
make js を実行して TypeScript コンパイラーを実行します。
make lint-cjs を実行してファイルを lint します。
編集後に make fmt-cjs を実行してファイルをフォーマットします。
コメント
Markdown 対応