Создайте учетную запись Tempo с помощью REST API - malikovalibek/groovyForJira GitHub Wiki

Обзор Создайте учетную запись Tempo (способ отслеживать время в нескольких командах и проектах) с помощью Tempo REST API. Используя конечную точку Tempo REST, этот сценарий использует базовую аутентификацию в заголовках запроса для аутентификации пользователя. Авторизованный пользователь должен иметь разрешение на создание учетной записи Tempo. Подробнее о разрешениях в Tempo читайте в этой статье .

пример Я хочу автоматизировать создание учетных записей Tempo, чтобы сэкономить время, создавая их вручную, и упростить отслеживание хода выполнения. Я могу использовать этот скрипт для запуска создания учетной записи Tempo каждый раз, когда создается Epic. Позволяет мне отслеживать время, потраченное на решение проблемы в этом эпике.

Хорошо знать Для этого скрипта требуются Tempo Timesheets, Tempo Planner или Tempo Budgets от Tempo для Jira. Учетные данные запроса API хранятся как свойства пользователя. Это свойство называется , как basicAuthCredsи он содержит имя пользователя и пароль в следующем формате: :. Пример настройки / получения свойств пользователя см. В документации библиотеки. import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.config.properties.APKeys import groovyx.net.http.ContentType import groovyx.net.http.EncoderRegistry import groovyx.net.http.HttpResponseDecorator import groovyx.net.http.RESTClient

// the user-defined property where the user name and password are stored into final String userPropertyKey = "jira.meta.basicAuthCreds"

def loggedInUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser def credentials = ComponentAccessor.userPropertyManager.getPropertySet(loggedInUser).getString(userPropertyKey) def baseUrl = ComponentAccessor.applicationProperties.getString(APKeys.JIRA_BASEURL)

def data = [ name : "Account", key : "12345", lead : [ key : "admin", username: "admin" ], status: "OPEN" ]

def client = new RESTClient(baseUrl) client.encoderRegistry = new EncoderRegistry(charset: 'UTF-8') client.setHeaders([ Authorization : "Basic ${credentials.bytes.encodeBase64().toString()}", "X-Atlassian-Token": "no-check" ])

client.handler.success = { response, json -> log.debug " Account successfully created" json['id'] }

client.handler.failure = { HttpResponseDecorator response -> log.error response.entity.content.text }

client.post( path: '/rest/tempo-accounts/1/account/', contentType: ContentType.JSON, body: data )

⚠️ **GitHub.com Fallback** ⚠️