Helper.groovy#

Jenkins библиотека с общими и часто используемыми функциями для работы ядра SMDL.

Методы с входными параметрами

Описание

static Map mergeMaps(Map base, Map overlay)

/**
* Метод слияния Map
* @param base - основной словарь
* @param overlay - новый словарь
*/

static Map mergeMaps(Map base, Map overlay, boolean flag)

/**
* Метод слияния Map с объединением списков
* @param base - основной словарь
* @param overlay - новый словарь
* @param flag - флаг включения объединения списков
*/

static Map entryMap(config, String type, String entryName)

/**
* Метод поиска элемента в Map
* @param config - список параметров в виде словаря
* @param type - тип параметра
* @param entryName - имя параметра
*/

static Map pruneNullsMap(Map m)

/**
* Метод очистки Map от null
* @param m - словарь параметров
*/

static Map flattenMap(Map data, String separator = „.“)

/**
* Метод преобразования Map в плоскую Map
* @param data - Map для преобразования
* @param separator - разделитель ключей
* @return плоская Map
*/

static String map2string(Map data, Pattern maskPattern = ~““)

/**
* Метод преобразования Map в строку c возможным маскирование значений;
* Map преобразовывается в плоскую Map
* @param data - Map для вывода
* @param maskPattern - Regex-шаблон поиска ключей, для которых значения будут маскироваться
* @return ключи и значения Map
*/

static String map2log(Map data, Pattern maskPattern = ~““)

/**
* Метод преобразования Map в отчет c возможным маскирование значений
* @param data - Map для вывода
* @param maskPattern Regex-шаблон поиска ключей, для которых значения будут маскироваться
*/

static String list2log(ArrayList data)

/**
* Метод преобразования ArrayList в отчет
* @param data - ArrayList для вывода
*/

static Object getShell(Map vars = [:])

/**
* Метод получения Shell команды
* @param vars - Map для вывода
*/

static void runStep(String src, String path, Map vars = [:])

/**
* Метод запуска шага
* @param src - имя шага
* @param path - путь к шагу
* @param vars - Map с передаваемыми параметрами в шага
*/

static void echoColor(script, String msg, Colors color)

/**
* Метод вывода записи в отчет
* @param script - среда Jenkins
* @param msg - текст сообщения
* @param color - цвет текста
*/

static cloneValue(value)

/**
* Метод дублирования значения
* @param value - значение которое нужно обработать
*/

static paintLog(script, String text)

/**
* Метод цветного вывода лога
* @param script - среда Jenkins
* @param text - текст сообщения
*/

static returnColoredString(script, String msq, Colors color)

/**
* Метод вывода цветной строки отчета
* @param script - среда Jenkins
* @param msq - текст сообщения
* @param color - цвет текста
*/

static errorHandler(script, String errMsg, Colors color = Colors.REDTEXT)

/**
* Метод вывода ошибки в отчет
* @param script - среда Jenkins
* @param errMsg - текст ошибки
* @param color - цвет текста
*/

static setUnstableStatus(script, unstableStatusReasonMessage = „“, threadId = „Main“)

/**
* Метод изменения статуса сборки с указанием причины
* ВАЖНО: при использовании этого метода в Jenkins Job обязательно вызывать шаг FinalStep в конце Jenkins Job
* Все причины сохраняются в переменной Helper.unstableStatusMessages. В словаре содержится информация только о тех шагах и потоках,
* в которых происходило изменение статуса
* Если степ работает в однопоточном режиме, то сообщения будут записываться по умолчанию в threadMain.
* Если степ работает в многопоточном режиме, то сообщения будут записываться в thread${threadId},
* но если забыть передать threadId при вызове метода, то сообщения из потока будут попадать в threadMain
* Helper.unstableStatusMessages имеет вид:
* [StepA: [threadMain: [unstableStatusReasonMessage0]
* thread0: [unstableStatusReasonMessage0, unstableStatusReasonMessage1, unstableStatusReasonMessage2],
* thread1: [unstableStatusReasonMessage0, unstableStatusReasonMessage1],
* thread2: [unstableStatusReasonMessage0]],
* StepB: [thread0: [unstableStatusReasonMessage0]]
* @param script - среда Jenkins
* @param unstableStatusReasonMessage - причина перевода сборки в статус status
* @param threadId - id потока из которого вызывается метод. Опциональный параметр, необходимый при использовании
* метода в случае, если в шаге из которого он вызывается одновременно выполняются несколько потоков
* @param status - статус в который переводится сборка
* @return
*/

static replacePlaceHolders(script, String str, ArrayList listWithReplacements)

/**
* Метод-обертка по дешаблонизации строк
* @param script - среда Jenkins
* @param str - строка с шаблонами вида {}
* @param listWithReplacements - массив с значениями для подстановки
* @return строка с подставленными значениями str
*/

static replacePlaceHolders(script, String str, Map mapWithReplacements = [:])

/**
* Метод-обертка по дешаблонизации строк
* @param script - среда Jenkins
* @param str - строка с шаблонами вида {param}
* @param mapWithReplacements - словарь со значениями для подстановки
* @return строка с подставленными значениями str
*/

static map2json(script,def map)

/**
* Метод конвертации map в json
* @param script - среда Jenkins
* @param map - конвертируемая структура
* @return json
*/

static void requireNotNull(Object obj, String paramName)

/**
* Метод проверки параметра на null
* @param obj - параметр, который нужно проверить
* @param paramName - имя параметра
*/