删除项目

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

如果项目已过时,可以在 Azure DevOps 中将其从组织或集合中删除 。 同样,如果要从本地 Azure DevOps Server 迁移到 Azure DevOps Services,则可能需要删除项目。 删除项目还可以通过将项目限制为仅那些当前正在使用的项目来增强导航。

注意

从 Web 门户删除的项目将软删除,如果未在 28 天内还原,则会永久删除。 但是,从本地 Azure DevOps 管理控制台中删除的项目是硬删除的,无法还原。 有关还原详细信息,请参阅 还原项目。 若要在不还原已删除的项目的情况下访问数据, 请保存项目数据

先决条件

  • 若要还原项目,必须将 “删除团队项目 ”权限设置为“ 允许”。 有关详细信息,请参阅 “查看权限”。
  • (可选) 保存项目数据,因为删除项目会导致不可逆的数据丢失。

保存项目数据

使用以下过程保存用户最关心的数据,例如源代码、生成数据和工作项。 此过程是可选的,在删除项目之前,可能需要考虑一些事项。

  • 源代码和自定义生成模板: 将文件下载为 zip 文件。 存储库操作选择存储库、文件或文件夹,然后选择“下载为 Zip”。 或者,选择“下载以下载当前所选文件夹中的所有文件或当前选定的文件。

    下载代码的屏幕截图。

    此过程不会保存任何更改历史记录或指向其他项目的链接。 如果使用 Git, 请克隆存储库 以保留完整的项目历史记录和所有分支。

  • 生成数据:若要在删除生成文件夹中保存日志和数据,请参阅 “查看生成结果”。

  • 工作项跟踪数据:创建工作项查询并使用 Excel 将其打开。 保存 Excel 电子表格。

    此过程不会保存指向其他项目的任何附件、更改历史记录或链接。

有关详细信息,请参阅我们的 数据保护概述

删除项目

使用 Web 浏览器执行软删除。 28 天后,如果未在该时间内还原,项目将永久删除。

  1. (https://dev.azure.com/{yourorganization}) 登录到组织。

  2. 选择“齿轮图标组织设置”。

    选择“组织设置”的屏幕截图。

  3. 选择“项目,选中要删除的一个或多个项目,然后选择“删除”。

    所选项目序列的屏幕截图,检查每个项目,然后删除。

  4. 输入项目名称确认删除,然后在弹出屏幕中选择“ 删除 ”。

    弹出确认删除项目屏幕的屏幕截图。

项目被删除,最多可以还原 28 天。 已删除的项目将从项目列表中删除。

删除删除项目后保留的报表

如果项目使用了 SQL Server 报告,但未删除外部项目,则可以使用 SQL Server 报表管理器删除报表。 在项目集合页中,删除与已删除项目对应的文件夹。

包含 delete 命令的上下文菜单的屏幕截图。

还原已删除的项目

如果无意中删除 Azure DevOps 中的项目,可以在删除项目后的 28 天内还原该项目。

  1. (https://dev.azure.com/{yourorganization}) 登录到组织。

  2. 选择“齿轮图标组织设置”。

    显示齿轮图标“组织设置”的屏幕截图。

  3. 选择“ 概述”,然后向下滚动到“最近删除的项目”。

    显示最近删除的项目的屏幕截图。

  4. 突出显示要还原的项目,然后选择“ 还原”。

    显示突出显示的项目和“还原”按钮的屏幕截图。

  1. 登录到实例(http://{ServerName:8080/tfs/}/{CollectionName})。

  2. 选择齿轮图标“管理员设置”。

    显示“管理员设置”按钮的屏幕截图,周围有红色框。

  3. 选择“项目”,然后向下滚动到最近删除的项目

  4. 突出显示要还原的项目,然后选择“ 还原”。

    显示如何突出显示项目的屏幕截图,然后选择“为 Azure DevOps Server 还原”。

注意

UI 不支持还原 Azure DevOps Server 2019 的团队项目。 使用以下 REST API 或 PowerShell 方法还原已删除的团队项目。 有关详细信息,请参阅 Projects-Update REST API

使用 REST API 还原项目

警告

若要还原已使用的名称的项目,必须先重命名项目,然后才能还原该项目。 若要重命名项目,请在请求正文中输入以下文本: "name":"new name"

  1. 打开浏览器窗口并输入使用以下格式的 URL:

    'http://ServerName:8080/tfs/DefaultCollection/ProjectName'

    例如,若要连接到名为 FabrikamPrime 的服务器,请输入:“”。http://FabrikamPrime:8080/tfs/

    默认端口为 8080。 如果未使用默认值,请指定服务器的端口号和目录。

  2. 使用以下请求获取已删除项目的列表:

    GET http://ServerName:8080/tfs/DefaultCollection/_apis/projects?stateFilter=
    deleted&api-version=5.0-preview.3
    
  3. 使用以下请求还原已删除的项目:

    PATCH http://ServerName:8080/tfs/DefaultCollection/_apis/projects/{projectId}?
    api-version=5.0-preview.3
    

    请求正文

    {
     "state" : "wellFormed"
    }
    

使用 PowerShell 还原项目

  1. 执行以下 PowerShell 脚本以获取已删除项目的列表,并确保更新 $collectionUrl

    $collectionUrl = "https://localhost/defaultcollection"
    (irm -Uri "$collectionUrl/_apis/projects?stateFilter=
    deleted&api-version=5.0-preview.3" -UseDefaultCredentials).value
    

    将显示类似于以下屏幕截图的内容: 已删除项目的 PowerShell 脚本返回示例的屏幕截图。

  2. 使用以下脚本还原项目。 请务必更新 $collectionUrl$projectName

    $collectionUrl = "https://localhost/defaultcollection"
    $projectName = 'Project1'
    $project = (irm -Uri "$collectionUrl/_apis/projects?stateFilter=
    deleted&api-version=5.0-preview.3" -UseDefaultCredentials).value
     | where {$_.name -eq $projectName}
    irm -Uri ($project.url + "?api-version=5.0-preview.3") 
    -UseDefaultCredentials -Method PATCH -Body '{"state":"wellFormed"}'
     -ContentType 'application/json'
    

项目和关联的数据将还原。

常见问题

请参阅以下有关在 Azure DevOps 中删除项目的常见问题。

答:删除项目后 24 小时内删除工作项。

问:我删除了 Azure DevOps 中的项目,但在 Visual Studio 团队资源管理器中,它仍然存在,我该怎么办?

答:在永久删除项目之前等待 28 天。