Использование REST API для VSTS в PowerShell
, я хотел создать отчет о моем проекте Team VSTS, который состоит из деталей рабочего элемента. Связывание отношений всех рабочих элементов под конкретным «Итерацией» Path "и" Area Path ".Запросы API VSTS Rest для связанных рабочих элементов в Powershell
Ex: Epics→Features→UserStories
. Поскольку между Epics есть отношения между родителями и дочерними элементами & Особенности, а также между функциями & UserStories.
Таким образом, ввод будет Iteration Path
и Area Path
, а соответствующим выходом будет отчет (.csv или .xls), который содержит все детали этих рабочих элементов и их отношения.
Может ли кто-нибудь сообщить мне, как достичь этого, используя API REST в PowerShell?
Я написал код для получения иерархических рабочих элементов в Team Project, но вам нужно изменить его, чтобы отфильтровать список на основе заданных путей итерации и области. Также при выполнении приведенного ниже кода сравнение строк в запросе (из-за наличия ') возвращает ошибку в силовой оболочке.
Ошибка: Invoke-RestMethod: { "считать": 1, "значение": { "Сообщение": "После анализа значения неожиданный персонаж встречается: Г. Путь 'запрос', строка 1, положение 163. \ г \ п "}}
$vstsAccount = "xxxx"
$projectName = "xxxx"
$user = "xxxx"
$token = "xxxx"
# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
# Construct the REST URL to obtain Build ID
$uri = "https://$($vstsAccount).visualstudio.com/$($projectName)/_apis/wit/wiql?api-version=1.0"
$body = "{'query': 'Select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] From WorkItemLinks WHERE
((Source.[System.TeamProject] = '$projectName' and Source.[System.State] <> 'Removed') and (Source.[System.WorkItemType] = 'Epic') and
([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward') and (Target.[System.WorkItemType] = 'UserStory') mode(Recursive)'}"
# Invoke the REST call and capture the results (notice this uses the POST method)
$result = Invoke-RestMethod -Uri $uri -Method Post -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Body $body
это не выглядит, как вы сделали основное расследование или даже дали этому попытку сам? Кто-то вряд ли опубликует полное решение для вас. Как насчет того, чтобы вы отдали его себе и отправили обратно за помощью, заполняя пробелы? –
Вы решаете проблему с моим решением? –