关于 github-script
为 `actions/github-script@v8` 中运行的 JavaScript 提供编写与检查指南,面向维护 GitHub Actions 脚本的开发者。内容涵盖日志、输入输出、步骤摘要、错误处理、类型以及验证命令。
主要功能
- 01通过 `@actions/core` 记录日志
- 02读取输入并设置输出
- 03编写步骤摘要
- 04处理错误与类型
- 05类型检查、Lint 和格式化命令
适用场景
- 01为 Action 脚本添加输入输出处理
- 02编写 Markdown 步骤摘要
- 03统一报告脚本失败
- 04检查 TypeScript 与格式变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ gh-aw --skill github-script安装后在 Claude Code 中输入/github-script确认已加载。
详细介绍
GitHub Action 脚本最佳实践
使用这些指南编写由 actions/github-script@v8 执行的 JavaScript。
重要说明
- 此 Action 全局提供
@actions/core和@actions/github包 - 不要为
@actions/core添加 import 或 require - 参考文档:
最佳实践
- 使用
core.info、core.warning、core.error记录日志,不要使用console.log或console.error - 使用
core.setOutput设置 Action 输出 - 使用
core.exportVariable为后续步骤设置环境变量 - 使用
core.getInput获取 Action 输入;必填输入需设置required: true - 使用
core.setFailed并附上错误消息,将 Action 标记为失败
步骤摘要
使用 core.summary.* 函数将输出写入步骤摘要文件。
- 使用
core.summary.addRaw()添加原始 Markdown 内容(支持 GitHub Flavored Markdown) - 确保调用
core.summary.write()刷新待写入内容 - 可以链式调用摘要函数,例如:
core.summary.addRaw(...).addRaw(...).write()
常见错误
- 尽可能避免使用
any类型,改用具体类型或unknown - 在错误处理程序中,访问 message 属性前,先检查错误是否为 Error 的实例
catch (error) {
core.setFailed(error instanceof Error ? error : String(error));
}
core.setFailed也会调用core.error,因此不要同时调用两者
类型检查
运行 make js 以执行 TypeScript 编译器。
运行 make lint-cjs 检查文件。
编辑后运行 make fmt-cjs 格式化文件。
评论
支持 Markdown