如何删除VSTS中的共享步骤

时间:2018-01-17 20:52:17

标签: tfs azure-devops tfs-workitem

我正在尝试以编程方式删除共享步骤(我正在尝试导出/导入,并且正在生成大量数据,并且希望能够删除它们 - 而不是手动删除它们。)

无法使用删除工作项API删除共享步骤,例如所有“隐藏”类别工作项类型。测试用例,测试计划和测试套件都有特殊的API来允许删除它们,但我找不到类似的API用于共享步骤。

是否有人知道API是什么,或者是否存在,或者是否存在?

2 个答案:

答案 0 :(得分:3)

是的,共享步骤实际上是一个工作项类型。

与测试计划/套件不同,没有相关的Rest API可以直接删除它们。期望通过门户网站手动删除。它只能通过使用witadmin destroywi命令来销毁,这是目前唯一可用的选项。

也适用于VSTS,您只需安装任何版本的VS,该命令位于(%programfiles(x86)%\ Microsoft Visual Studio 1x.0 \ Common7 \ IDE

  

要运行witadmin命令行工具,请打开命令提示符窗口   安装Visual Studio的位置。 witadmin命令行工具   安装任何版本的Visual Studio。

     

您可以访问此工具   通过安装Visual Studio社区的免费版本。

您需要知道要删除的共享步骤工作项的 ID

witadmin destroywi /collection:https://xxx.visualstudio.com /id:123

答案 1 :(得分:0)

现在可以通过REST API执行操作


$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($personalToken)"))
$header = @{authorization = "Basic $token"}

$sharedStepIdFileContent = Get-Content -Path .\SharedStepsIdList.txt
$sharedStepIdList = $sharedStepIdFileContent.Split([System.Environment]::NewLine, [System.StringSplitOptions]::RemoveEmptyEntries)
$sharedStepIdList | % {
    $sharedStepId = $_
    $url = "https://dev.azure.com/{org}/{project}/_apis/test/sharedstep/$($sharedStepId)?api-version=5.0-preview.1"
    
    Write-Host "Deleting Shared Step $sharedStepId ..." 
    Invoke-RestMethod -Uri $url -Method Delete -ContentType application/json -Headers $header   
}