构建完成后,VSTS 不再将内部版本号添加到全局列表



我正在使用VSTS构建和发布功能来构建.net项目。构建项目后,我希望在全局列表中更新内部版本号,以便我可以选择相同的内部版本号来解决缺陷(集成在构建中(,同时通过 MTM 执行测试用例。

此功能在我们使用内部部署 TFS 2013 时就已存在。

请让我知道是否有办法使用 VSTS Rest API 在全局列表中更新内部版本号。

提前感谢!!

没有用于更新全局列表的 Rest API,可以使用 VSTS/TFS 客户端 API(WorkItemStore.ImportGlobalLists 方法(或 witadmin 命令更新全局列表。

使用 PowerShell 的示例:获取 TfsCollection 和 TFS 服务并添加到全局列表。

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)

另一方面,可以参考本文来更新生成的相关工作项:在 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 任务(生成或发布(参数文本框-address XXX -username XXX -password XXX中指定参数。(用户名可以为空,并使用个人访问令牌作为密码(

另一方面,您可以导入Microsoft Team Foundation Server 扩展客户端包中的程序集文件。

最新更新