TFS Как получить ссылки с идентификатора рабочего элемента с помощью REST API - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь получить список ссылок в TFS, используя идентификатор рабочего элемента, используя API отдыха.Я хочу отфильтровать ссылки, чтобы у меня были только коммиты.Какой формат для веб-запроса я бы использовал?Я пробовал

https://{server & port} / {project} / _ workitems? Id = 140464

, но безрезультатно - это приводит меня к «назначенной» мне области запроса Iтакже пропускаю API-версию = 4.1 из URL, потому что по какой-то причине это не работает ...

Кроме того, я попытался найти рабочий элемент в запросе, но мало полезной информации оссылки.Мне нужен хотя бы заголовок ссылки, но есть только методы, чтобы увидеть ее тип

Фиксация в ссылках

1 Ответ

0 голосов
/ 07 июня 2018

Вы можете получить все отношения (связанные рабочие элементы) для определенного рабочего элемента с помощью ниже REST API :

GET http://server:8080/tfs/DefaultCollection/_apis/wit/workitems/1?$expand=all 

Затем вы можете получить ID type title для каждого из связанных рабочих элементов в цикле.

Просто попробуйте под примером PowerShell получить информацию о ссылках с помощью REST API:

Param(
   [string]$collectionurl = "http://server:8080/tfs/DefaultCollection",
   [string]$workitemid = "1",
   [string]$user = "username",
   [string]$token = "password"
)

# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))

#Get workitem relateions
$baseUrl = "$collectionurl/_apis/wit/workitems/$($workitemid)?"+"$"+"expand=all"            
$response = Invoke-RestMethod -Uri $baseUrl -Method Get -UseDefaultCredential -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}

$witurls = $response.relations.url 

#Retrieve the linked work items in a loop
$linkedwits = @()

foreach ($witurl in $witurls)
{
$linkedwit = Invoke-RestMethod -Uri $witurl -Method Get -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}

$customObject = new-object PSObject -property @{
          "LinkedWitID" = $linkedwit.id
          "WorkItemType" = $linkedwit.fields.'System.WorkItemType'
          "Title" = $linkedwit.fields.'System.Title'
        } 

    $linkedwits += $customObject
}

$linkedwits | Select `
                LinkedWitID,
                WorkItemType, 
                Title #|export-csv -Path C:\LC\Links.csv -NoTypeInformation

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...