JiraRequester.groovy#

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

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

Важно: для использования библиотеки требуется предварительная инициализация DevCommon.groovy (описанного в подразделе «Библиотеки методов» раздела «Дополнительная документация» текущего документа).

Допустимо два варианта инициализации библиотеки:

  1. Обращение с объявлением config: def jira = new JiraRequester(this, config, dev)

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

    jira.createRemoteLink(config.ciCred, config.jiraTicketKey, env.BUILD_URL, "Ссылка на лог сборки Jenkins job", config.customHeader)

  2. Обращение без объявления config: def jira = new JiraRequester(this, dev)

    Пример вызова метода (в данном случае требуется заполнять все параметры вызываемых методов библиотеки):

    jira.createRemoteLink(ciCred, jiraTicketKey, env.BUILD_URL, "Ссылка на лог сборки Jenkins job", customHeader, jiraUrl, needVault, workspace, credentialTypes, configurationBlock, validResponseCodes, excludeCheckParams)

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

Описание

def getJiraTestMap(jiraUrl)

/**
* Метод формирования словаря типов тестовых сущностей с ссылками до API
* @param jiraUrl - Url для работы с jira
* @return Результат словаря типов тестовых сущностей с ссылками до API
*/

def createRemoteLink(def jiraCredentialsId, String key, String link, def title, def customHeader =[], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод добавления ссылки в Jira (Параметр RemoteLink в задаче)
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param link - Ссылка которая будет добавлена
* @param title - Описание ссылки
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def createLotRemoteLink(jiraCredentialsId, key, lot, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод добавления множества ссылок в Jira (Параметр RemoteLink в задаче)
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param lot - список словарей ссылок (формат [ [url: '', title: ''], [url: '', title: ''] ])
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/

def deleteLinksByTitle(def jiraCredentialsId, String key, def title, def isQuiet, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод удаления remoteLink по title.
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key Jira Key Issue
* @param title - Описание ссылки
* @param isQuiet - boolean. Требуется ли выводить статус HTTP запроса.
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/

def getLinkInternal(def jiraCredentialsId, String key, def title, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод получения internal remoteLink
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key Jira Key Issue
* @param title - Описание ссылки
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Массив Internal ссылок
*/

def getPrLinksIssue(jiraCredentialsId, id, key, repos, def customHeader =[], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод получения ссылок pull-request для issue в репозиториях
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param id - id задачи(issue)
* @param key - key задачи(issue)
* @param repos - repos задачи(issue)
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return список ссылок pull-request
*/

def addIssueComment(jiraCredentialsId, key, commentText, def customHeader =[], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод добавления нового комментария в задачу
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param commentText - Текст комментария
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def getIssueComment(String jiraCredentialsId, String key, ArrayList customHeader =[], String jiraUrl = config.jiraUrl, Boolean needVault = config.needVault, String workspace = config.workspace, LinkedHashMap credentialTypes = config.credentialTypes, LinkedHashMap configurationBlock = config.configurationVault, ArrayList validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод получения комментариев Jira задачи
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return json структура с комментариями
*/

def deleteIssueComment(String jiraCredentialsId, String key, String commentId, ArrayList customHeader =[], String jiraUrl = config.jiraUrl, Boolean needVault = config.needVault, String workspace = config.workspace, LinkedHashMap credentialTypes = config.credentialTypes, LinkedHashMap configurationBlock = config.configurationVault, ArrayList validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод удаления комментариев Jira задачи
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param commentId - id комментария
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return json структура с комментариями
*/

def getJiraIssueContent(jiraCredentialsId, key, def customHeader =[], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод получения Json контента содержащего поля и его значения по задаче
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def getJiraIssueParams(jiraCredentialsId, key, params, def customHeader = [], jiraUrl = config.jiraUrl, taskTrackerSettings = config.taskTrackerSettings, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод получения информации по задачам, ограниченную необходимыми полями
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param params - параметры, которые необходимо вернуть
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param taskTrackerSettings - словарь полей в jira, соответствующие платформе
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def getJiraIssuesWithParams(jiraCredentialsId, keys, params, maxResults = 50, isQuiet = false, def customHeader =[], jiraUrl = config.jiraUrl, taskTrackerSettings = config.taskTrackerSettings, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод получения информации по задачам, ограниченную необходимыми полями
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param keys - Jira Keys Issues
* @param params - параметры, которые необходимо вернуть
* @param maxResults - максимальное число возвращаемых результатов
* @param isQuiet - boolean. Требуется ли выводить статус HTTP запроса
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param taskTrackerSettings - словарь полей в jira, соответствующие платформе
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def getJiraIssuesJqlWithParams(jiraCredentialsId, jql, params, maxResults = 50, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод получения информации по jql, ограниченную необходимыми полями
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param jql - jql
* @param params - параметры, которые необходимо вернуть
* @param maxResults - максимальное число возвращаемых результатов
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def getAllStoryByEpic(jiraCredentialsId, epicKey, params = '', maxResult = 50, def customHeader = [], taskTrackerSettings = config.taskTrackerSettings, jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Получения информации по всем Story из Epic
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param epicKey - Jira Epic Key Issue
* @param params - параметры, которые необходимо вернуть
* @param maxResult - максимальное число возвращаемых результатов
* @param customHeader - персональный заголовок
* @param taskTrackerSettings - словарь полей в jira, соответствующие платформе
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def getJiraMegaIssuesWithParams(jiraCredentialsId, keys,countKey = 100, params, def customHeader = [], jiraUrl = config.jiraUrl, taskTrackerSettings = config.taskTrackerSettings, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод получения информации по задачам, ограниченную необходимыми полями, где размер списка задач неограничен
* Список задач делится на части. Jql-запрос выполняется для каждой из частей
* Результат: содержимое результатов выполнения всех jql-запросов
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param keys - Jira Keys Issues
* @param countKey - количество key в одной части
* @param params - параметры, которые необходимо вернуть
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param taskTrackerSettings - словарь полей в jira, соответствующие платформе
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения всех HTTP запроса
*/

Map getJiraRelease(String jiraCredentialsId,String jiraUrl,String jiraSearchJql,String storyId, List customHeader)

/**
* Метод получения списка Release 2.0, прикрепленные к Jira Story
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param jiraUrl - Url для работы с jira
* @param jiraSearchJql - шаблон части запроса
* @param storyId - Jira Story
* @param customHeader - персональный заголовок
*/

def createJiraRelease(jiraCredentialsId, storyList, summary, creator, ci, description, jiraReleaseProjectName, distribLinks, standPsi, def customHeader = [], taskTrackerSettings = config.taskTrackerSettings, jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод создания Release
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param storyList - Jira Key Issue для которого создавать релиз (только Story)
* @param summary - Заголовок для Jira Release
* @param creator - Исполнитель, на которого назначить созданный Jira Release
* @param ci - КЭ, которое необходимо указать в Jira Release
* @param description - Описание Jira Release
* @param jiraReleaseProjectName - KEY проектной области, в которой нужно создать Jira Release
* @param distribLinks - ссылки дистрибутивов, разделитель точка с запятой
* @param standPsi - приемосдаточный стенд
* @param customHeader - персональный заголовок
* @param taskTrackerSettings - словарь полей в jira, соответствующие платформе
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def findAttachmentInIssue(jiraCredentialsId, issue, maskList = [], def customHeader = [], needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод поиска вложения по списку масок
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param issue - Rest Jira задачи
* @param maskList - список масок
* @param customHeader - персональный заголовок
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return список файлов-вложений(в корневом каталоге), либо пустой список
*/

def addRoleToProject(jiraCredentialsId, project, user, roleName, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод добавления роли в проект для пользователя
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param project - проектная область
* @param user - пользователь
* @param roleName - наименование роли в Jira (Users или Developers или PMK (в PMK все буквы английские))
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/

def addWatchersToIssue(jiraCredentialsId, key, watchers, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод добавления наблюдателей в задачу
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - идентификатор(ключ) сущности
* @param watchers - список наблюдателей(name)
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения всех HTTP запроса
*/

def getTransitionByReasonIndex(jiraCredentialsId, key, index, def customHeader = [], jiraUrl = config.jiraUrl, taskTrackerSettings = config.taskTrackerSettings, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод: получить атрибуты кнопки перехода и атрибуты причины по индексу в списке наименований причин
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param index - индекс причины в списке наименований
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param taskTrackerSettings - словарь полей в jira, соответствующие платформе
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return атрибуты кнопки, атрибуты причины, url запроса
*/

def closeRelease(jiraCredentialsId, key, closeMessage, def customHeader = [], jiraUrl = config.jiraUrl, taskTrackerSettings = config.taskTrackerSettings, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод закрытия релиза
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - релиз, который необходимо закрыть
* @param closeMessage - сообщение, которое поместить в комментарий
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param taskTrackerSettings - словарь полей в jira, соответствующие платформе
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def moveJiraTicket(jiraCredentialsId, key, statusKey, isQuiet = false, def customHeader = [], additionalMoveInfo = null, jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод движения задачи на один статус
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - релиз, который необходимо закрыть
* @param statusKey - id кнопки, которая передвинет в необходимый статус
* @param isQuiet - boolean. Требуется ли выводить статус HTTP запроса
* @param customHeader - персональный заголовок
* @param additionalMoveInfo - дополнительная информация о перемещении
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def move(jiraCredentialsId, moveTo, keysObj, segment = 'alpha', needChangeAssignee = true, def customHeader = [], jiraUrl = config.jiraUrl, additionalMoveInfo = null, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод движения задачи в нужный статус по карте переходов
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param moveTo - статус в который нужно передвинуть задачу
* @param keysObj - Jira Key задачи, которую нужно передвинуть
* @param segment - сегмент в котором работает Jenkins Job
* @param needChangeAssignee - нужно ли назначать ответственного
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param additionalMoveInfo - дополнительная информация о перемещении
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/

def getPathToMove(listStatus, mapStatus, projKeyObj, typeObj, startStatus, dinamicSearchedStatus, pathToMove)

/**
* Метод для поиска кратчайшего маршрута до необходимого статуса по карте переходов
* @param listStatus - Список статусов для перехода
* @param mapStatus - Полная карта переходов
* @param projKeyObj - Jira Key проектной области
* @param typeObj - ID типа задачи для которой нужно произвести движение (id Stroy, id Epic …)
* @param startStatus - Текущий (стартовый) статус Jira задачи
* @param dinamicSearchedStatus - Финальный статус в который нужно перейти
* @param pathToMove - Сформированный путь для передвижения
* @return карту переходов до нужного статуса
*/

def contentToJsonAssignee(assignee)

/**
* Метод формирования JSON для установления поля assignee
* @param assignee - логин исполнителя
* @return json строку с исполнителем
*/

def createLinkToIssue(jiraCredentialsId, typeRelation, inwardIssue, inwardRelation, outwardIssue, outwardRelation, isQuiet = false, def customHeader=[], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод создания Issue Link to another Issue
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param inwardIssue - Jira Key Issue что крепить
* @param outwardIssue - Jira Key Issue куда крепить
* @param typeRelation - тип связи
* @param inwardRelation - какой связью крепить inwardIssue
* @param outwardRelation - какой связью крепить outwardIssue
* @param isQuiet - boolean. Требуется ли выводить статус HTTP запроса
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/

def deleteLinkToIssue(jiraCredentialsId, linkId, def customHeader=[], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод удаления Issue Link to another Issue
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param linkId - ID связи, которую нужно удалить
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/

def updateFields(jiraCredentialsId, key, data, isQuiet = false, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод обновления полей
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue что крепить
* @param data - json для поля которое необходимо обновить
* @param isQuiet - boolean. Требуется ли выводить статус HTTP запроса
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def curlCreateLinkToIssue(jiraCredentialsId, inwardIssue, outwardIssue, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault)

/**
* Метод создания Issue Link to another Issue
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param inwardIssue - Jira Key Issue что крепить
* @param outwardIssue - Jira Key Issue куда крепить
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @return Результат выполнения HTTP запроса
*/

def getJiraTest(jiraCredentialsId, issueKey, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод получения Jira теста
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param issueKey - Jira задача
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return - Результат выполнения HTTP запроса (идентификатор теста)
*/

def createJiraTest(jiraCredentialsId, issueKey, data = [:], def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод создания Jira теста
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param projectKey - Jira проект
* @param issueKey - Jira задача
* @param data - пользовательские данные * @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return идентификатор теста
*/

def runJiraTest(jiraCredentialsId, testCaseKey, data = [:], def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод запуска Jira теста
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param projectKey - Jira проект
* @param testCaseKey - идентификатор Jira теста
* @param data - пользовательские данные * @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return - индентификатор запуска Jira теста
*/

def deleteTestJira(jiraCredentialsId ,projectKey, def customHeader=[], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Удалить тесты ZephyrScalaServer
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param projectKey - Jira проект
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/

def curlJiraExec(jiraCredentialsId, url, data, def customHeader = [], additionalEnvsWithoutTuning = [],
needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault)

/**
* Метод запуска curl
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param url - адрес запроса
* @param data - тело запроса
* @param customHeader - персональный заголовок
* @param additionalEnvs - дополнительный список env (не маскируется)
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @return Результат выполнения HTTP запроса
*/

def curlJiraExecWithoutJson(jiraCredentialsId, url, data, def customHeader = [], additionalEnvsWithoutTuning = [],
needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault)

/**
* Метод запуска curl
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param url - адрес запроса
* @param data - тело запроса
* @param customHeader - персональный заголовок
* @param additionalEnvs - дополнительный список env (не маскируется)
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @return Результат выполнения HTTP запроса
*/

def httpGetJiraExec(jiraCredentialsId, url, isQuiet = false, def customHeader=[], needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод запуска HTTP GET
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param url - адрес запроса
* @param isQuiet - boolean. Требуется ли выводить статус HTTP запроса
* @param customHeader - персональный заголовок
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def httpPostJiraExec(jiraCredentialsId, url, data, isQuiet = false, def customHeader=[], needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод запуска HTTP POST
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param url - адрес запроса
* @param data - тело запроса
* @param isQuiet - boolean. Требуется ли выводить статус HTTP запроса
* @param customHeader - персональный заголовок
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def httpPutJiraExec(jiraCredentialsId, url, data, isQuiet = false, def customHeader=[], needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод запуска HTTP PUT
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param url - адрес запроса
* @param data - тело запроса
* @param isQuiet - boolean. Требуется ли выводить статус HTTP запроса
* @param customHeader - персональный заголовок
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def httpDeleteJiraExec(jiraCredentialsId, url, def customHeader=[], needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод запуска HTTP DEL
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param url - ссылка удаления
* @param customHeader - персональный заголовок
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/

def httpSaveInFileJiraExec(jiraCredentialsId, url, filename, def customHeader=[], needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод сохранения в файл
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param url - ссылка
* @param filename - имя файла в который нужно сохранить
* @param customHeader - персональный заголовок
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return
*/

def putAttachment(jiraCredentialsId, key, fileName, def customHeader = [], jiraUrl = config.jiraUrl, additionalEnvsWithoutTuning = [],
needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault)

/**
* Метод публикации артефактов в Jira задачу
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - ключ задачи
* @param fileName - имя файла
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param additionalEnvs - дополнительный список env (не маскируется)
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
*/

def jiraFindEPIC(jiraId, jiraCredentialsId, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Поиск EPIC в jira
* @param jiraId - id задачи в jira
* @param jiraCredentialsId - credential jira
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return epicIssueSelf json задачи
*/

def updateJiraLabels(jiraCredentialsId, key, labels, operation, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Добавление\Обновление labels в задаче
* @param jiraCredentialsId - credential jira
* @param key - ключ задачи
* @param labels - labels для добавления(string с ',')
* @param operation - наименование операции (add, remove и т.д.)
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/

def updateJiraTicket(jiraCredentialsId, key, json, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод обновления Jira Ticket
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param json json для отправки в jira
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return
*/

def getLinkMentionedInCоnfluence(def jiraCredentialsId, String key, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод получения Mentioned in Cоnfluence remoteLink
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Массив Mentioned in Cоnfluence remoteLink
*/

def listCustomHeadersToString (headersList)

/**
* Преобразования списка заголовков в строку (для curl)
* @param headersList - список заголовков
* @return
*/

def changecfCi(jRId,ciNumber,customHeader = [], ciCred = config.ciCred, jiraUrl = config.jiraUrl, taskTrackerSettings = config.taskTrackerSettings, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* запрос изменения поля КЭ в Release 2.0
* @param jRId - id Release 2.0
* @param ciNumber - номер КЭ
* @param customHeader - персональный заголовок
* @param ciCred - credential для доступа к jira
* @param jiraUrl - Url для работы с jira
* @param taskTrackerSettings - словарь полей в jira, соответствующие платформе
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return
*/

def replacePlaceHoldersJira(script,scheme,arrayForReplace, taskTrackerSettings = config.taskTrackerSettings)

/**
* Метод-обертка по дешаблонизации запросов из taskTrackerSettings
* @param script - среда Jenkins
* @param scheme - имя шаблона
* @param arrayForReplace - массив с значениями для подстановки
* @param taskTrackerSettings - словарь полей в jira, соответствующие платформе
* @return строка с подставленными значениями
*/

def replacePlaceHoldersJira(script,scheme,Map mapForReplace, taskTrackerSettings = config.taskTrackerSettings)

/**
* Метод-обертка по дешаблонизации запросов из taskTrackerSettings
* @param script - среда Jenkins
* @param scheme - имя шаблона
* @param mapForReplace - словарь со значениями для подстановки
* @param taskTrackerSettings - словарь полей в jira, соответствующие платформе
* @return строка с подставленными значениями
*/

def getHistoriesInChangelogTask(jiraCredentialsId, key, def customHeader = [], jiraUrl = config.jiraUrl, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод: получить историю смены статуса задачи
* @param jiraCredentialsId - Jenkins Cred для авторизации
* @param key - Jira Key Issue
* @param customHeader - персональный заголовок
* @param jiraUrl - Url для работы с jira
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return атрибуты кнопки, атрибуты причины, url запроса
*/