我需要在VSTS扩展中从自定义构建任务创建VSTS工作项,是否有Microsoft提供的API包装器?对此最好的方法是什么?
提前致谢。
答案 0 :(得分:2)
您可以在打字稿中使用VSTS Node API来实现所需的功能。您需要的方法是createWorkItem()。
答案 1 :(得分:0)
目前,TFS中没有此内置功能或构建任务。
然而,使用TFS REST API就像在 powershell脚本中提出的ds19建议一样。您可能不必创建自己的所有者扩展程序。
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