2016-09-16 2 views
0

Мне нужно создать рабочие элементы VSTS из задачи пользовательской сборки в VSTS-расширении. Есть ли API-оболочка для этого, предоставляемая Microsoft? Какой должен быть лучший подход для этого?Как создать рабочие элементы VSTS из задачи пользовательской сборки?

Заранее спасибо.

+0

Вы пытались использовать TFS REST API? https://www.visualstudio.com/docs/integrate/api/wit/work-items#create-a-work-item – ds19

ответ

1

Вы можете использовать VSTS Node API в вашем машинописи для достижения требуемой функции. Нужный вам метод будет createWorkItem().

+0

@BandR Это работает? –

0

На данный момент эта функция сборки или сборки отсутствует в TFS.

Однако, используя TFS REST API так же, как ds19 предлагает в сценарий powershell сделает трюк. Возможно, вам не нужно создавать расширение владельца.

REST API: Create a work item

PATCH https://{instance}/DefaultCollection/{project}/_apis/wit/workitems/${workItemTypeName}?api-version={version} 

Ниже приведен пример кода:

Try 

{ 



$WorkItemAssociatedURL = $collectionURL + $project + “/_apis/build/builds/” + $BuildId + “/workitems?api-version=2.0” 

$ResponseJSON = Invoke-RestMethod -Uri $WorkItemAssociatedURL -ContentType “application/json” -headers $headers -Method GET 



$CountWorkitems = $ResponseJSON.count 

$WorkitemUrlArray = $ResponseJSON.value 



for($i = 0; $i -lt $CountWorkitems ; $i++) 

{ 

$body = 

‘[ 

{ 

“op”: “add”, 

“path”: “/fields/Microsoft.VSTS.Build.IntegrationBuild”, 

“value”:’ + $BuildNumber +’ 

} 

]’ 



$WorkitemUpdateURL = $WorkitemUrlArray[$i].url + “?api-version=1.0” 



Invoke-RestMethod -Uri $WorkitemUpdateURL -Body $body -ContentType “application/json-patch+json” -headers $headers -Method Patch 

} 

} 



Catch 

{ 

Write-Host “No work item associated with this build. Kindly check the changesets” 

} 

Больше шагов детали и информация вы можете передать этот дневник Build association with work Items in vNext

+0

Спасибо за ответ Патрик, Мое расширение уже разработано с использованием машинописного текста. Он использует внешние службы для извлечения некоторых данных, и мне нужно создать рабочие элементы для полученных данных. Я нашел следующий пример, но использует VSS SDK, который работает на стороне клиента. [Пример] (https://nocture.dk/2016/01/02/lets-make-a-visual-studio-team-services-extension/) – Bandara

Смежные вопросы