我正在使用VSTS build&发布功能以构建.net项目。在构建项目之后,我希望在全局列表中更新内部版本号,以便我可以选择相同的内部版本号来解决缺陷(在Build中集成)以及通过MTM执行测试用例。
当我们使用内部部署TFS 2013时,会出现此功能。
如果有办法更新版本号,请告诉我。在使用VSTS Rest API的全局列表中。
先谢谢!!
答案 0 :(得分:0)
没有Rest API来更新全局列表,您可以使用VSTS / TFS客户端API(WorkItemStore.ImportGlobalLists方法)或witadmin commands更新全局列表。
使用PowerShell的示例:Get TfsCollection and TFS Services和Adding to a GlobalList。
function Add-TfsGlobalListItem {
Param(
[parameter(Mandatory=$true)][Microsoft.TeamFoundation.Client.TfsTeamProjectCollection] $TfsCollection,
[parameter(Mandatory=$true)][String] $GlobalListName,
[parameter(Mandatory=$true)][String] $GlobalEntryValue
)
# Get Global List
$store = Get-TfsWorkItemStore $TfsCollection
[xml]$export = $store.ExportGlobalLists();
$globalLists = $export.ChildNodes[0];
$globalList = $globalLists.SelectSingleNode("//GLOBALLIST[@name='$GlobalListName']")
# if no GL then add it
If ($globalList -eq $null)
{
$globalList = $export.CreateElement("GLOBALLIST");
$globalListNameAttribute = $export.CreateAttribute("name");
$globalListNameAttribute.Value = $GlobalListName
$globalList.Attributes.Append($globalListNameAttribute);
$globalLists.AppendChild($globalList);
}
#Create a new node.
$GlobalEntry = $export.CreateElement("LISTITEM");
$GlobalEntryAttribute = $export.CreateAttribute("value");
$GlobalEntryAttribute.Value = $GlobalEntryValue
$GlobalEntry.Attributes.Append($GlobalEntryAttribute);
#Add new entry to list
$globalList.AppendChild($GlobalEntry)
# Import list to server
$store.ImportGlobalLists($globalLists)
另一方面,您可以参考本文更新构建的相关工作项:Build association with work Items in vNext
更新
连接到VSTS的简单代码:
param(
[string]$address,
[string]$username,
[string]$password
)
$credentials = New-Object System.Net.NetworkCredential($username, $password)
$tfsCollection = New-Object Microsoft.TeamFoundation.Client.TfsTeamProjectCollection((New-Object System.URI($address)))
$wis = $tfsCollection.GetService([Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore])
然后,您可以在PowerShell任务(构建或发布)Arguments文本框-address XXX -username XXX -password XXX
中指定参数。 (用户名可以为空,并使用个人访问令牌作为密码)
另一方面,您可以导入Microsoft Team Foundation Server Extended Client package。
中的程序集文件