Добавьте значение для спринта в существующий тикет JIRA с помощью invoke-restmethod.

Вопрос или проблема

Я хотел бы добавить значение спринта (или имя, или строку, или идентификатор) в существующий тикет JIRA с помощью Powershell, а именно вызвать invoke-restmethod (не с помощью curl).

Может кто-нибудь упомянуть об известной ссылке или привести пример?

На основе доступной онлайн-документации кажется, что вам нужно отправить POST-запрос на /rest/agile/1.0/sprint/{sprintId}/issue:

$jiraHostName = "https://<введите имя хоста jira>"
$targetSprintId = 123                     # замените на актуальный идентификатор спринта
$oauthBearerToken = "<введите токен>"   # см. https://confluence.atlassian.com/adminjiraserver/jira-oauth-2-0-provider-api-1115659070.html
$issuesToUpdate = @(                      # замените на актуальные идентификаторы задач
  'PROJ-123',
  'PROJ-456'
)

$irmArgs = @{
  Uri = "${jiraHostName}/rest/agile/1.0/sprint/${targetSprintId}/issue"
  Headers = @{
    'Authorization' = "Bearer $oauthBearerToken"
    'X-Atlassian-Token' = 'nocheck'
  }
  Method = Post
  Body = @{
    'issues' = $issuesToUpdate
  }
  ContentType="application/json"
}

Invoke-RestMethod @irmArgs

Ответ или решение

Чтобы добавить значение спринта в существующий тикет JIRA с помощью PowerShell и команды Invoke-RestMethod, вам необходимо выполнить несколько шагов для настройки и отправки POST-запроса к API JIRA. Следуйте следующему пошаговому руководству.

Шаг 1: Получите необходимые данные

Перед тем как начать, убедитесь, что у вас есть:

  1. Идентификатор спринта: Убедитесь, что у вас есть правильный идентификатор спринта (sprintId), в который вы хотите переместить задания.
  2. Токен OAuth: Убедитесь, что вы имеете действующий токен для авторизации API. Ознакомьтесь с документацией Atlassian для получения более подробной информации.
  3. Идентификаторы тикетов: Запишите идентификаторы тикетов, которые вы хотите обновить, в формате 'НАЗВАНИЕ-ПРОЕКТА-НУМЕР' (например, 'PROJ-123').

Шаг 2: Подготовьте PowerShell скрипт

Ниже приведен пример кода на PowerShell для добавления заданий в спринт:

# Установите имя вашего хоста JIRA
$jiraHostName = "https://<ваш_домен_jira>"

# Укажите идентификатор спринта
$targetSprintId = 123  # замените на фактический идентификатор спринта

# Вставьте ваш токен OAuth
$oauthBearerToken = "<ваш_токен>"

# Укажите идентификаторы тикетов, которые нужно обновить
$issuesToUpdate = @(
  'PROJ-123',  # замените на фактические идентификаторы тикетов
  'PROJ-456'
)

# Подготовьте аргументы для Invoke-RestMethod
$irmArgs = @{
  Uri = "${jiraHostName}/rest/agile/1.0/sprint/${targetSprintId}/issue"
  Headers = @{
    'Authorization' = "Bearer $oauthBearerToken"
    'X-Atlassian-Token' = 'nocheck'
  }
  Method = 'Post'
  Body = @{
    'issues' = $issuesToUpdate
  } | ConvertTo-Json
  ContentType = "application/json"
}

# Выполните POST запрос
$response = Invoke-RestMethod @irmArgs

# Выведите результат
$response

Шаг 3: Запускайте скрипт

Сохраните скрипт в файл с расширением .ps1, откройте PowerShell и выполните его. Убедитесь, что вы запускаете PowerShell с соответствующими правами для выполнения скриптов и сеть имеет доступ к вашему серверу JIRA.

Объяснение кода

  • Invoke-RestMethod: Эта команда используется для выполнения REST API запросов. Мы используем ее для отправки запросов к API JIRA.
  • Uri: Указывает на конечную точку API, к которой вы обращаетесь. В данном случае это адрес для добавления тикетов в спринт.
  • Headers: Здесь мы указываем заголовки, включая токен авторизации и специальный заголовок X-Atlassian-Token, который предотвращает CSRF-атаки.
  • Body: В теле запроса передаются идентификаторы тикетов в формате JSON.

Заключение

Этот подход позволяет эффективно и просто обновить значения спринта для существующих тикетов JIRA с использованием PowerShell. Убедитесь, что все параметры указаны корректно, чтобы избежать ошибок во время выполнения запроса. Если возникнут какие-либо проблемы, проверьте логи JIRA и убедитесь, что ваш токен OAuth активен и имеет достаточные разрешения для выполнения указанных действий.

Оцените материал
Добавить комментарий

Капча загружается...