【问题标题】:set GitHub Actions input value for local testing为本地测试设置 GitHub Actions 输入值
【发布时间】:2020-12-22 14:29:38
【问题描述】:

我正在编写一个 GitHub 操作,它使用 @actions/core 库接收名为 file 的强制输入字段。

const core = require("@actions/core");

async function run() {
    try {
        let file = core.getInput('file', {required: true});

        // rest of my action ...

我能够在本地运行它,但它按原样失败(未提供输入)。 是否有提供输入的内置方法(类似于 env-vars)以便我可以在本地运行和测试它?

Error: Input required and not supplied: file
    at Object.getInput (.../node_modules/@actions/core/lib/core.js:78:15)
    at run (.../src/main.js:6:25)
    at Object.<anonymous> (.../src/main.js:40:5)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47
::error::Input required and not supplied: file

【问题讨论】:

    标签: javascript github-actions building-github-actions


    【解决方案1】:

    如果你看the sources of getInput,你可以看到它正在使用环境变量:

    const val: string =
        process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''
    

    知道了这一点,你就可以设置这个环境变量了:

    const setInput = (name,value)=>
        process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`]=value;
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 2021-09-02
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 2021-04-16
      相关资源
      最近更新 更多