Общая библиотека Дженкинса: как создать функцию в groovy, которая принимает строку map и возвращает это сопоставленное значение

#jenkins #groovy #jenkins-pipeline

#дженкинс #groovy #дженкинс-конвейер

Вопрос:

Я пытаюсь создать общую библиотеку в Дженкинсе, которая либо будет принимать сопоставленные аргументы в качестве параметра, либо, если аргументы не предоставлены, будет считываться из файла config.yml.

Чтобы сделать это, я пытаюсь создать глобальную функцию, которая проверяет, существует ли предоставленный параметр в карте аргументов:

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

Когда я вызываю это вот так:

 args = [
    test_var: "Hello World!"
]

echo getParam('test_var', args)
  

оно возвращает null. Однако я меняю getParam() вот так:

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

ее вызов возвращает «Привет, мир!»

Как я могу изменить эту функцию, чтобы динамически возвращать значение в переданных в нее аргументах?

Ответ №1:

изменить на return args[config_var]

Комментарии:

1. Аллилуйя! Это правильный ответ, большое вам спасибо. Сейчас это кажется глупым, это была такая мелочь.