【问题标题】:Add TFS Tag with REST API via powershell通过 powershell 添加带有 REST API 的 TFS 标签
【发布时间】:2016-03-06 00:26:47
【问题描述】:

我想在 Powershell 中使用 REST API 向 TFS 项目添加标签。

我正在尝试根据以下文档提出此请求 Visual Studio Integration

我这样称呼:

[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.TeamFoundation.Client')
[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.TeamFoundation.WorkItemTracking.Client')

if ( (Get-PSSnapin -Name "Microsoft.TeamFoundation.Powershell" -ErrorAction                  SilentlyContinue) -eq $null )
{
Add-PSSnapin "Microsoft.TeamFoundation.Powershell"
}
$SrcCollectionUrl = 'http://tfs.myCompany.com:8080/tfs/MyCollection' 
$SrcProjectName = 'myProject' 
[psobject] $tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($SrcCollectionUrl)
[Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStoreFlags]$WorkItemBypass =      [Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStoreFlags]::BypassRules

$tfstp = New-Object Microsoft.TeamFoundation.Client.TfsTeamProjectCollection($SrcCollectionUrl)
$WorkItemStore = New-Object -TypeName 'Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore' -ArgumentList $tfs.TfsTeamProjectCollection, $WorkItemBypass

$SrcProject = $WorkItemStore.Projects[$SrcProjectName]
$ProjectGuid = Split-Path $SrcProject.Uri -Leaf

$AddTagsUrl = '{0}/_apis/tagging/scopes/{1}/tags?api-version=1.0' -f $SrcCollectionUrl,$ProjectGuid

$newTagParams = @{name="PWCreateTag2"}
$outjson = $newTagParams | ConvertTo-Json
$nresp = Invoke-RestMethod -Method POST -Uri $AddTagsUrl -UseDefaultCredentials  -Body $outjson -ContentType 'application/json'

一切正常。第一次。但是文档指出:“如果该名称的标签已经存在,则不会创建任何标签。相反,响应正文包含具有该名称的现有标签。”

我第二次调用我得到的行:“远程服务器返回错误:(400) 错误请求。”

有人知道为什么第二次失败了吗?

仅供参考:TFS 服务器是 2015,Powershell 是 V4

【问题讨论】:

  • 相同的 PowerShell 脚本适用于在 Visual Studio Team Services 中创建标签。我认为 TFS2015 有一些不同。

标签: powershell rest tfs tfs-2015 azure-devops-rest-api


【解决方案1】:

我为此创建了 powershell 模块 - tfs

添加标签:

'tag1','tag2' | % { Add-TFSBuildTag -Id 520 -Tag $_ }

【讨论】:

    猜你喜欢
    • 2022-12-15
    • 2016-12-28
    • 2023-03-17
    • 1970-01-01
    • 2020-09-27
    • 2015-08-09
    • 2017-08-05
    • 2021-03-09
    • 1970-01-01
    相关资源
    最近更新 更多