删除项目

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

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

注意

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

先决条件

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

保存项目数据

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

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

    Screenshot of Downloading code.

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

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

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

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

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

删除项目

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

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

  2. 选择 gear icon“组织设置”。

    Screenshot of selection, Organization settings.

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

    Screenshot of sequence selected Projects, check each project, and delete.

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

    Screenshot of popup confirmation delete project screen.

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

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

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

Screenshot of the context menu with delete command.

还原已删除的项目

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

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

  2. 选择 gear icon“组织设置”。

    Screenshot showing the gear icon, Organization settings.

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

    Screenshot that shows recently deleted projects.

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

    Screenshot showing highlighted project, and Restore button.

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

  2. 选择gear icon管理员设置

    Screenshot showing Admin settings button surrounded by red box.

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

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

    Screenshot showing how to Highlight the project, and then select Restore for 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
    

    将显示类似于以下屏幕截图的内容: Screenshot of PowerShell script return example for deleted projects.

  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 天。