feat(app/action): add presets (#817) [skip ci]

This commit is contained in:
Simon Lecoq
2022-01-26 03:18:56 +01:00
committed by GitHub
parent 48752e4438
commit f16bc09f05
3 changed files with 264 additions and 247 deletions

View File

@@ -228,17 +228,34 @@ metadata.plugin = async function({__plugins, __templates, name, logger}) {
key,
{
comment:comments[key] ?? `# ${value.description}`,
descriptor:yaml.dump({[key]:Object.fromEntries(Object.entries(value).filter(([key]) => ["description", "default", "required"].includes(key)).map(([k, v]) => k === "description" ? [k, v.split("\n")[0]] : [k, v]))}, {quotingType:'"', noCompatMode:true}),
descriptor:yaml.dump({[key]:Object.fromEntries(Object.entries(value).filter(([key]) => ["description", "default", "required"].includes(key)).map(([k, v]) => k === "description" ? [k, v.split("\n")[0]] : k === "default" ? [k, "<default-value>"] : [k, v]))}, {quotingType:'"', noCompatMode:true}),
},
]),
)
//Action inputs
meta.inputs.action = function({core}) {
meta.inputs.action = function({core, preset = {}}) {
//Build query object from inputs
const q = {}
for (const key of Object.keys(inputs)) {
const value = `${core.getInput(key)}`.trim()
const unspecified = process.env[`INPUT_${key.replace(/ /g, "_").toUpperCase()}`] === "<default-value>"
let value
//From presets
if ((key in preset)&&(unspecified)) {
logger(`metrics/inputs > ${key} has been set by preset value`)
q[key] = preset[key]
continue
}
//From defaults
else if (unspecified) {
logger(`metrics/inputs > ${key} has been set by default value`)
value = metadata.inputs[key]?.default
}
//From user
else {
logger(`metrics/inputs > ${key} has been set by user`)
value = `${core.getInput(key)}`.trim()
}
try {
q[key] = decodeURIComponent(value)
}