简体   繁体   English

Jenkins共享库:如何在groovy中创建一个函数,该函数接受字符串+映射并返回该映射值

[英]Jenkins shared library: How to create a function in groovy that takes a string + map and returns that mapped value

I am trying to create a shared library in Jenkins that will either take mapped arguments as a parameter, or if no arguments are provided will read from a config.yml file. 我正在尝试在Jenkins中创建一个共享库,该共享库要么将映射的参数用作参数,要么如果没有提供参数,则将从config.yml文件读取。

In order to do this I am trying to create a global function that checks if the provided parameter exists in a map of arguments: 为了做到这一点,我试图创建一个全局函数来检查提供的参数是否存在于参数映射中:

getParam(String config_var, Map args) {
    return args.config_var
}

When I call this like so: 当我这样称呼时:

args = [
    test_var: "Hello World!"
]

echo getParam('test_var', args)

it returns null. 它返回null。 However I change getParam() like so: 但是我像这样更改getParam():

getParam(String config_var, Map args) {
    return args.test_var
}

calling it returns "Hello World!" 调用它会返回“ Hello World!”。

How can I change this function to dynamically return a value in the arguments passed into it? 如何更改此函数以在传递给它的参数中动态返回值?

更改以return args[config_var]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在Jenkins共享库中创建全局函数 - How to create global function in Jenkins shared library Jenkins共享库中的Groovy作用域 - Groovy scoping in Jenkins Shared Library Groovy 从 Jenkins 共享库返回的 LinkedHashMap 转换为 String - Groovy LinkedHashMap returned from a Jenkins shared library is converted to String Groovy vs Jenkins - 正则表达式 replaceFirst/replaceAll 函数与闭包在 Jenkins 共享库中的工作方式不同 - Groovy vs Jenkins - regex replaceFirst/replaceAll function with closure works differently in Jenkins shared library Jenkins 根据条件获取 map 值并作为参数传递给共享库 - Jenkins fetch map value on condition and pass to shared library as parameter Jenkins共享库-为options部分创建一个通用函数 - Jenkins shared library - create a generic function for the options section [Jenkins]如何远程创建共享库? - [Jenkins]How can I create a shared library remotely? 如何在Jenkins中创建包含参数和正文的共享库? - How can I create a shared library in Jenkins with both arguments and a body? 将groovy字符串转换为jenkins管道中的映射 - Convert groovy string to map in jenkins pipeline 在Jenkins管道中将字符串转换为Groovy中的映射 - Converting string to map in groovy within Jenkins pipeline
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM