ConfluenceRequester.groovy#

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

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

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

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

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

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

    def responseContent = confluence.getContentById(config.ciCred, config.pageID, "version,body.storage", true, config.customHeader)

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

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

    def responseContent = confluence.getContentById(ciCred, pageID, "version,body.storage", true, customHeader, confluenceHost, needVault, workspace, credentialTypes, configurationBlock, validResponseCodes, excludeCheckParams)

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

Описание

def getContentById(def confluenceCredId, def id, def expand = "", isQuiet = false, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод, для получение содержимого по Id
* @param confluenceCredId - Jenkins Cred для авторизации
* @param pageId - Id страницы
* @param expand - Дополнительные параметры которые необходимо вернуть
* @param isQuiet - "тихий" режим
* @param customHeader - персональный заголовок
* @param confluenceHost - host confluence
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def getContentPageByUrl(confluenceCredId, url, expand = '', isQuiet = false, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

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

def getContentBlogsByUrl(confluenceCredId, url, expand = '', label = '', isQuiet = false, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

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

def getContentBlogsByUrlRest(confluenceCredId, url, expand = '', isQuiet = false, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

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

def getContentByCql(confluenceCredId, cql, expand = '', isQuiet = false, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

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

def getContentByIds(confluenceCredId, ids, count = 25, expand = '', isQuiet = false, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод для получения содержимого по множеству id
* @param confluenceCredId - Jenkins Cred для авторизации
* @param ids - запрос
* @params count - количество возвращаемых результатов за один запрос
* @param expand - Дополнительные параметры которые необходимо вернуть
* @param isQuiet - "тихий" режим
* @param customHeader - персональный заголовок
* @param confluenceHost - host confluence
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def getContentByIdsCql(confluenceCredId, ids, count = 25, expandCQL = '', expand = '', isQuiet = false, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод для получения содержимого по множеству id и расширенному cql-запросу
* @param confluenceCredId - Jenkins Cred для авторизации
* @param ids - запрос
* @params count - количество возвращаемых результатов за один запрос
* @params expandCQL - расширенный cql-запрос
* @param expand - Дополнительные параметры которые необходимо вернуть
* @param isQuiet - "тихий" режим
* @param customHeader - персональный заголовок
* @param confluenceHost - host confluence
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def updateContentOnPage(def confluenceCredId, def pageId, def title, def newStorageValue, def newVersion, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод для обновления содержимого страницы
* @param confluenceCredId - Jenkins Cred для авторизации
* @param pageId - ID страницы
* @param title - Заголовок страницы
* @param newStorageValue - Новое содержимое страницы
* @param newVersion - номер версии страницы (Не должен совпадать ни с одной из версий в истории страницы)
* @param customHeader - персональный заголовок
* @param confluenceHost - host confluence
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/

def httpGetConfluenceExec(confluenceCredId, url, getNullResponse = true, isQuiet = false, def customHeader=[], needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

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

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

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

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

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

def getAttachmentsByIdPage(def confluenceCredId, def id, def expand = "", isQuiet = false, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод, для получение вложений по Id страницы
* @param confluenceCredId - Jenkins Cred для авторизации
* @param pageId - Id страницы
* @param expand - Дополнительные параметры которые необходимо вернуть
* @param isQuiet - "тихий" режим
* @param customHeader - персональный заголовок
* @param confluenceHost - host confluence
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
* @return Результат выполнения HTTP запроса
*/

def getAttachmentByUrl(def confluenceCredId, def segmentUrl, def customHeader=[], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

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

def getPagesByIdPage(def confluenceCredId, def id, isQuiet = false, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

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

def getSpaceByKey(def confluenceCredId, def spaceKey, isQuiet = false, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

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

def checkTypeId(pageId)

/**
* Метод, для получения типа страницы
* @param pageId - Id страницы, Key пространства
* @return Результат выполнения true - Id страницы, false - Key пространства
*/

def createPage(def confluenceCredId, def spaceKey, def pageId, def title, def newStorageValue, def newVersion, def customHeader = [], confluenceHost = config.confluenceHost, needVault = config.needVault, workspace = config.workspace, credentialTypes = config.credentialTypes, configurationBlock = config.configurationVault, validResponseCodes = null, Map excludeCheckParams = null)

/**
* Метод для создания страницы
* @param confluenceCredId - Jenkins Cred для авторизации
* @param spaceKey - ID пространства
* @param pageId - ID родительской страницы
* @param title - Заголовок страницы
* @param newStorageValue - Новое содержимое страницы
* @param newVersion - номер версии страницы (Не должен совпадать ни с одной из версий в истории страницы)
* @param customHeader - персональный заголовок
* @param confluenceHost - host confluence
* @param needVault - требуется хранилище
* @param workspace - рабочее пространство
* @param credentialTypes - Типы Credential - Jenkins : Vault
* @param configurationBlock - настройки для HashiCorp Vault
* @param validResponseCodes - успешные HTTP коды (список интервалов и одиночных значений)
* @param excludeCheckParams - параметры для проверки исключений (possibleRetryFl - возможен повтор для некоторых ошибочных статусов)
*/