UnpackerHelper.groovy#

Jenkins библиотека с функциями, необходимые для Jenkins job ClientUnpacker.

Подключение библиотеки к Step/Pipeline осуществляется с помощью конструкции: import ru.sbrf.devops.UnpackerHelper

Пример инициализации библиотеки:

def unpackerHelper = new UnpackerHelper(this)

Пример вызова метода:

unpackerHelper.readReportJson("Report.json", libs,pomInParty)

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

Описание

static void addToMessages(String distrib,String messageType,String message)

/**
* Метод сохранения сообщения в таблице дистрибутивов
* @param distrib - имя архива дистрибутива
* @param messageType - тип сообщения
* @param message - сообщение
*/

static LinkedHashMap<String,LinkedHashMap<String,StringBuilder>> getMessages()

/**
* Метод вывода таблицы дистрибутивов и сообщений, связанных с их обработкой ClientUnpacker
* @return
*/

LinkedHashMap readReportJson(reportJsonFile)

/**
* Метод считывания Report.json
* @param reportJsonFile - файл Report.json
* return libs - Map библиотек для конкретного дистрибутива из Monosolution, pomInParty - map pom файлов в party
*/

def recursiveUnarchive(DevCommon dev, distribName, folderName, archives)

/**
* рекурсивная распаковка до тех пор пока:
* 1) не будет найдена директория package
* 2) в директории не будет pom файла
* составление списка разархивации: от архива, до 'package/', если присутствует, или до тех пор, пока pom файлы не будут найдены в распакованной директории
* @param dev - экземпляр библиотеки DevCommon
* @param distribName - путь до архива дистрибутива
* @param folderName - директория распаковки
* @param archives - структура архивов внутри дистрибутивов
* @return
*/

def generateReport(DevCommon dev,Nexus nexus,LinkedHashMap infoPublish,String starter_email,String pipeline)

/**
* Метод формирования отчета с информацией по собранным компонентам
* @param dev - экземпляр библиотеки DevCommon
* @param nexus - экземпляр библиотеки Nexus
* @param infoPublish - информация о собранных дистрибутивах Monosolution
* @param starter_email - почта инициатора Jenkins Job
* @param pipeline - имя pipeline
*/