You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions本地脚本能否不使用process.env.message通过with传参

报错根因

GitHub Actions 的 step 配置规则中,with 是自定义 Action 专属参数,只能和 uses 字段(用于调用公共/本地自定义 Action)搭配使用。直接为 run 字段(执行本地脚本/命令)添加 with 参数会触发语法校验失败。

解决方案(适配你用 with 传参的需求)

你只需要把现有脚本封装为本地自定义 Action,不需要修改原有 action.js 代码,操作步骤如下:

  1. 新增本地 Action 配置文件
    在 .github/scripts 目录下新建 action.yml,内容如下:
name: 'Message Validator'
description: '校验传入的message参数'
inputs:
  message:
    description: '需要校验的消息内容'
    required: true
runs:
  using: 'node20' # 可替换为你实际使用的Node.js版本,支持node16、node18、node20
  main: 'action.js'
  1. 调整 workflow 配置
    修改 .github/workflows/message.yml 内容如下:
name: "message"
# 保留你原有触发规则,比如on: [push, pull_request]
jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4 # 必须先拉取仓库代码,才能读取本地Action文件
      - name: check message
        uses: ./.github/scripts # 指向存放action.yml的本地目录
        with:
          message: 'must-message'
替代方案(无需封装Action,用环境变量传参)

如果你不需要强制使用 with 字段,也可以通过env传参,仅需调整两处代码:

  1. 修改.github/scripts/action.js参数读取逻辑:
#!/usr/bin/env node
async function run() {
  if (process.env.MESSAGE !== 'must-message') {
    console.error('message is invalid')
    process.exit(1)
  }
}
run()
  1. 调整workflow对应step配置:
- name: check message
  run: .github/scripts/action.js
  env:
    MESSAGE: 'must-message'

内容的提问来源于stack exchange,提问作者mkungla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:36:02