diff --git a/bitrise/template_util.go b/bitrise/template_util.go index 8bb34eccd..939d82efa 100644 --- a/bitrise/template_util.go +++ b/bitrise/template_util.go @@ -62,6 +62,9 @@ func EvaluateTemplateToString(expStr string, isCI, isPR bool, buildResults model "enveq": func(key, expectedValue string) bool { return (getEnv(key, envList) == expectedValue) }, + "envcontain": func(key, subString string) bool { + return strings.Contains(getEnv(key, envList), subString) + }, } tmpl := template.New("EvaluateTemplateToBool").Funcs(templateFuncMap) diff --git a/bitrise/template_utils_test.go b/bitrise/template_utils_test.go index cc91cda69..55e91d973 100644 --- a/bitrise/template_utils_test.go +++ b/bitrise/template_utils_test.go @@ -91,6 +91,16 @@ func TestRegisteredFunctions(t *testing.T) { envValue: "enveq value", expected: false, }, + { + propTempCont: `{{envcontain "TEST_KEY" "val"}}`, + envValue: "enveq value", + expected: true, + }, + { + propTempCont: `{{envcontain "TEST_KEY" "different"}}`, + envValue: "enveq value", + expected: false, + }, } for _, test := range tests { t.Run(test.propTempCont, func(t *testing.T) {