Восстановление удаленного вики-сайта

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Если пользователь по ошибке удалил вики-сайт подготовленного проекта или опубликованного кода, можно восстановить удаленные данные. В пользовательском интерфейсе не предусмотрены возможности для удаления вики-сайтов, но пользователь может удалить репозиторий, связанный с вики-сайтом, используя REST API.

Примечание.

Удаленные репозитории остаются в корзине в течение 30 дней, после чего они окончательно удаляются и не могут быть восстановлены.

Необходимые компоненты

  • Для восстановления вики-сайта необходимо иметь по крайней мере базовый доступ.
  • Необходимо иметь разрешение создать репозиторий для публикации кода как вики-сайта. По умолчанию это разрешение назначается участникам группы "Администраторы проекта".
  • Любой член группы безопасности "Участники" может добавлять или редактировать вики-страницы. Любой пользователь с доступом к командному проекту, включая заинтересованных лиц, может просматривать вики-сайт.
  • Необходимо иметь разрешение создать репозиторий для публикации кода как вики-сайта. По умолчанию это разрешение назначается участникам группы "Администраторы проекта".
  • Любой член группы безопасности "Участники" может добавлять или редактировать вики-страницы. Любой пользователь с доступом к командному проекту, включая заинтересованных лиц, может просматривать вики-сайт.

Восстановление полного вики-сайта

Вики-сайты, как проект, так и код, хранятся в качестве репозиториев в проекте в Azure DevOps. Выполните следующие действия, чтобы восстановить полный вики-сайт с помощью REST API.

  1. Получение репозиториев Git: перечисление репозиториев.

    Используйте параметр THE includeHidden=true , чтобы просмотреть вики-репозитории.

GET https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/repositories?includeHidden=true&api-version=7.1-preview.1
        {
            "id": "978e3886-64a8-4b6f-96da-6afc2936b04b",
            "name": "fabrikamfiber.wiki",
            "url": https://dev.azure.com/christiechurch/052a83ac-af70-4194-b53f-df073e5f1786/_apis/git/repositories/978e3886-64a8-4b6f-96da-6afc2936b04b,
            "project": {
                "id": "052a83ac-af70-4194-b53f-df073e5f1786",
                "name": "fabrikamfiber",
                "url": https://dev.azure.com/christiechurch/_apis/projects/052a83ac-af70-4194-b53f-df073e5f1786,
                "state": "wellFormed",
                "revision": 421800049,
                "visibility": "organization",
                "lastUpdateTime": "2023-07-18T12:25:29.3Z"
            },
            "defaultBranch": "refs/heads/wikiMaster",
            "size": 193,
            "remoteUrl": https://christiechurch@dev.azure.com/christiechurch/fabrikamfiber/_git/fabrikamfiber.wiki,
            "sshUrl": git@ssh.dev.azure.com:v3/christiechurch/fabrikamfiber/fabrikamfiber.wiki,
            "webUrl": https://dev.azure.com/christiechurch/fabrikamfiber/_git/fabrikamfiber.wiki,
            "isDisabled": false,
            "isInMaintenance": false
        }
  1. Выполните поиск корзины для репозитория.
GET https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/recycleBin/repositories?api-version=7.1-preview.1

При поиске репозитория, часто именуемого как .wiki, запишите идентификатор репозитория.

{
    "value": [
        {
            "id": "978e3886-64a8-4b6f-96da-6afc2936b04b",
            "name": "fabrikamfiber.wiki",
            "project": {
                "id": "052a83ac-af70-4194-b53f-df073e5f1786",
                "name": "fabrikamfiber",
                "url": https://dev.azure.com/christiechurch/_apis/projects/052a83ac-af70-4194-b53f-df073e5f1786,
                "state": "wellFormed",
                "revision": 421800049,
                "visibility": "organization",
                "lastUpdateTime": "2023-07-18T12:25:29.3Z"
            },
            "deletedBy": {
                "displayName": "Christie Church",
                "url": https://spsprodeus23.vssps.visualstudio.com/A1df9d653-bdfb-459b-a0c7-725052b2f944/_apis/Identities/0a0a4b55-9671-440d-87bf-26644f200d8a,
                "_links": {
                    "avatar": {
                        "href": https://dev.azure.com/christiechurch/_apis/GraphProfile/MemberAvatars/aad.MDY4MDk2OGQtYWU5OS03Y2M5LTgxZTEtNTBjMDk4ZTllZTlh
                    }
                },
                "id": "0a0a4b55-9671-440d-87bf-26644f200d8a",
                "uniqueName": christiechurch@fabrikam.com,
                "imageUrl": https://dev.azure.com/christiechurch/_api/_common/identityImage?id=0a0a4b55-9671-440d-87bf-26644f200d8a,
                "descriptor": "aad.MDY4MDk2OGQtYWU5OS03Y2M5LTgxZTEtNTBjMDk4ZTllZTlh"
            },
            "createdDate": "2023-07-18T12:23:55.64Z",
            "deletedDate": "2023-07-18T12:41:38.737Z"
        }
    ],
    "count": 1
}
  1. Восстановите вики-сайт из корзины репозитория.
PATCH https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/recycleBin/repositories/978e3886-64a8-4b6f-96da-6afc2936b04b?api-version=7.1-preview.1
{
    "deleted": false
}

Вики-сайт восстановлен.

Восстановление вики-страницы

  1. Перейдите по URL-адресу для репозитория: https://dev.azure.com/<OrgName>/<ProjectName>/_git/classicreleaseoption.wiki

  2. Выполните поиск журнала для основной ветви wikiMain.

  3. Найдите и выберите фиксацию с удаленными файлами.

  4. Выберите "Дополнительные действия", а затем вернитесь.

  5. Создайте и завершите запрос на вытягивание.

Страница вики-сайта восстановлена.

Восстановление вики-страницы с помощью ИНТЕРФЕЙСА командной строки

Если вы предпочитаете параметры командной строки, выполните следующие действия.

  1. Клонируйте вики-сайт на локальный компьютер.
  2. Найдите фиксацию, которая удалила страницу.
  3. Проверьте фиксацию.
  4. Скопируйте страницу, чтобы создать новую фиксацию.

Страница вики-сайта восстановлена.

Удаление репозитория

DELETE https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/repositories/052a83ac-af70-4194-b53f-df073e5f1786?api-version=7.1-preview.1

Следующие шаги