From 80dd8eee302d547355e659cd2178d7e355091215 Mon Sep 17 00:00:00 2001 From: lowlighter <22963968+lowlighter@users.noreply.github.com> Date: Tue, 25 Jan 2022 21:44:11 -0500 Subject: [PATCH] fix(app/metrics): action inputs parser [skip ci] --- source/app/metrics/metadata.mjs | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/source/app/metrics/metadata.mjs b/source/app/metrics/metadata.mjs index 66219c11..486ff706 100644 --- a/source/app/metrics/metadata.mjs +++ b/source/app/metrics/metadata.mjs @@ -238,8 +238,17 @@ metadata.plugin = async function({__plugins, __templates, name, logger}) { //Build query object from inputs const q = {} for (const key of Object.keys(inputs)) { - const unspecified = process.env[`INPUT_${key.replace(/ /g, "_").toUpperCase()}`] === "" - let value + //Parse input + let value = `${core.getInput(key)}`.trim() + try { + value = decodeURIComponent(value) + } + catch { + console.debug(`metrics/inputs > failed to decode uri for ${key}`) + logger(`metrics/inputs > failed to decode uri for ${key}: ${value}`) + value = "" + } + const unspecified = value === "" //From presets if ((key in preset)&&(unspecified)) { console.debug(`metrics/inputs > ${key} has been set by preset value`) @@ -249,19 +258,12 @@ metadata.plugin = async function({__plugins, __templates, name, logger}) { //From defaults else if (unspecified) { console.debug(`metrics/inputs > ${key} has been set by default value`) - value = metadata.inputs[key]?.default + q[key] = metadata.inputs[key]?.default + continue } //From user else { console.debug(`metrics/inputs > ${key} has been set by user`) - value = `${core.getInput(key)}`.trim() - } - try { - q[key] = decodeURIComponent(value) - } - catch { - console.debug(`metrics/inputs > failed to decode uri for ${key}`) - logger(`metrics/inputs > failed to decode uri for ${key}: ${value}`) q[key] = value } } @@ -427,7 +429,7 @@ metadata.plugin = async function({__plugins, __templates, name, logger}) { } /**Metadata extractor for templates */ -metadata.template = async function({__templates, name, plugins, logger}) { +metadata.template = async function({__templates, name, plugins}) { try { //Load meta descriptor const raw = fs.existsSync(path.join(__templates, name, "metadata.yml")) ? `${await fs.promises.readFile(path.join(__templates, name, "metadata.yml"), "utf-8")}` : ""