我正在尝试以编程方式删除共享步骤(我正在尝试导出/导入,并且正在生成大量数据,并且希望能够删除它们 - 而不是手动删除它们。)
无法使用删除工作项API删除共享步骤,例如所有“隐藏”类别工作项类型。测试用例,测试计划和测试套件都有特殊的API来允许删除它们,但我找不到类似的API用于共享步骤。
是否有人知道API是什么,或者是否存在,或者是否存在?
答案 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
}