[bm] Add few Common funcs
PRODX-36578
Change-Id: I47763ba048f5d81cc78a432e3d57e29de450e378
diff --git a/src/com/mirantis/mk/Common.groovy b/src/com/mirantis/mk/Common.groovy
index 1f9d0b2..1507b44 100644
--- a/src/com/mirantis/mk/Common.groovy
+++ b/src/com/mirantis/mk/Common.groovy
@@ -1035,6 +1035,35 @@
}
}
+@NonCPS
+def getEnvAsMap() {
+ /** return env, EnvActionImpl, as usual map
+ *
+ */
+ def envVars = [:]
+ env.getEnvironment().each { k, v ->
+ envVars[k.toString()] = v.toString()
+ }
+ return envVars
+}
+
+@NonCPS
+def simpleTemplate(String ptrDescriptionTemplate) {
+ /** Render simplest template from string, using current env variables
+ *
+ */
+ def engine = new groovy.text.GStringTemplateEngine()
+ def envVars = getEnvAsMap()
+ String result = ''
+ try {
+ // withDefault required to correctly set\ignore unknown defaults
+ result = engine.createTemplate(ptrDescriptionTemplate).make(envVars.withDefault { key -> "ERROR: ${key} env variable not found" }).toString()
+ } catch (e) {
+ errorMsg("Failed genarate template:${ptrDescriptionTemplate}, using env vars,error:\n" + e.toString())
+ }
+ return result
+}
+
/**
* Wrapper around parallel pipeline function
* with ability to restrict number of parallel threads