【问题标题】:How do I delete shared steps in VSTS如何删除 VSTS 中的共享步骤
【发布时间】:2018-06-26 20:19:53
【问题描述】:

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

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

有谁知道API是什么,或者是否有,或者是否会有?

【问题讨论】:

    标签: tfs azure-devops tfs-workitem


    【解决方案1】:

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

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

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

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

    您可以使用此工具 通过安装 Visual Studio Community 的免费版本。

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

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

    【讨论】:

    • 这有帮助!我昨天真的试过这个,但它对我不起作用。我意识到我错过了出现的凭据提示窗口。如果有人发现自己处于同样的困境中,并不是说您会收到输入凭据的提示!
    【解决方案2】:

    现在可以通过 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   
    }
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-13
      • 1970-01-01
      • 1970-01-01
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      相关资源
      最近更新 更多