Compartir a través de


Restauración de una wiki eliminada

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Si un usuario eliminó accidentalmente un wiki aprovisionado (proyecto) o publicado (código), puede restaurarlo. Aunque no hay opciones en la interfaz de usuario para eliminar una wiki, los usuarios pueden usar la API REST para eliminar el repositorio de Git asociado a la wiki.

Nota

Los repositorios eliminados permanecen en la papelera de reciclaje durante 30 días, después de lo cual se eliminan permanentemente y no se pueden restaurar.

Prerrequisitos

Categoría Requisitos
Acceso al proyecto Miembro del proyecto donde se encuentra la wiki. Si no tienes acceso, solicítalo al administrador de tu proyecto. Cualquier persona con acceso al proyecto de equipo puede ver la wiki, incluidas las partes interesadas.
Permisos - Para agregar o editar páginas wiki: miembro del grupo Colaboradores .
- Para publicar código como wiki: Crear repositorio permiso. De forma predeterminada, este permiso se establece para los miembros del grupo administradores de proyectos de .
Niveles de acceso Al menos acceso Básico.

Restauración de una wiki completa

Las wikis, tanto el proyecto como el código, se almacenan como repositorios en el proyecto en Azure DevOps. Complete los pasos siguientes para restaurar una wiki completa con la API REST.

  1. Recuperar repositorios de Git: Enumerar repositorios.

    Use el parámetro THE includeHidden=true para ver los repositorios wiki.

    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
            }
    
  2. Buscar en la papelera de reciclaje para su repositorio.

    GET https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/recycleBin/repositories?api-version=7.1-preview.1
    

    Cuando encuentre el repositorio, a menudo denominado como .wiki, anote el identificador del repositorio.

    {
        "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
    }
    
  3. Restaurar el wiki desde la papelera de reciclaje del repositorio.

    PATCH https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/recycleBin/repositories/978e3886-64a8-4b6f-96da-6afc2936b04b?api-version=7.1-preview.1
    
    {
        "deleted": false
    }
    

El contenido del repositorio se restaura. Si la interfaz de usuario wiki no vuelve a aparecer automáticamente, publique el repositorio restaurado como wiki o cree una wiki a través de la API REST wiki para volver a registrarlo en el proyecto.

Restaurar una página wiki

  1. Vaya a la dirección URL del repositorio: https://dev.azure.com/<OrgName>/<ProjectName>/_git/classicreleaseoption.wiki.

  2. Busque el historial de la rama principal, wikiMain.

  3. Busque y seleccione el commit que contiene los archivos eliminados.

  4. Seleccione Más acciones y, a continuación, Revertir.

  5. Cree y complete una solicitud de incorporación de cambios.

Tus restauraciones de la página wiki.

Restauración de una página wiki con la CLI

Si prefiere opciones de línea de comandos, siga estos pasos.

  1. Clone la wiki en la máquina local.
  2. Busque el "commit" que eliminó la página.
  3. Revisa el commit.
  4. Copie la página para realizar una nueva confirmación.

Tu página wiki ha sido restaurada.

Eliminación de un repositorio

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

Volver a asociar una wiki restaurada

La restauración de la papelera de reciclaje recupera el repositorio de Git (páginas wiki y historial), pero no siempre vuelve a crear el registro wiki ni la asociación de nombre de archivo en la interfaz de usuario.

Si la wiki no aparece después de restaurar el repositorio, tiene dos opciones:

Opción 1: Volver a publicar a través de la interfaz de usuario

  1. Vaya a Visión general>Wiki en su proyecto.
  2. Si no aparece ninguna wiki, seleccione Publicar código como wiki.
  3. Seleccione el repositorio restaurado y la rama (normalmente wikiMaster).
  4. Proporcione un nombre wiki y una ruta de acceso de carpeta si es necesario.
  5. Seleccione Publicar.

Para obtener pasos detallados, consulte Publicación de un repositorio de Git en una wiki.

Opción 2: Volver a crear el registro wiki con la API REST

  1. Cree una nueva wiki mediante Wikis - Crear de la API REST:

    POST https://dev.azure.com/{organization}/{project}/_apis/wiki/wikis?api-version=7.1-preview.2
    

    Cuerpo de la solicitud:

    {
        "type": "codeWiki",
        "name": "Fabrikam Fiber Wiki",
        "projectId": "052a83ac-af70-4194-b53f-df073e5f1786",
        "repositoryId": "978e3886-64a8-4b6f-96da-6afc2936b04b",
        "mappedPath": "/",
        "version": {
            "version": "wikiMaster"
        }
    }
    

    Reemplace los siguientes valores:

    • {organization}: el nombre de la organización de Azure DevOps
    • {project}: nombre o identificador del proyecto
    • name: Nombre visible de la wiki
    • projectId: ID del proyecto del paso 2
    • repositoryId: Identificación de repositorio del paso 2
    • mappedPath: ruta de acceso de carpeta raíz (normalmente /)
    • version: nombre de rama (normalmente wikiMaster)
  2. Verifique el registro del wiki listando los wikis usando la API REST Wikis - List :

    GET https://dev.azure.com/{organization}/{project}/_apis/wiki/wikis?api-version=7.1-preview.2
    

Comprobación posterior a la restauración

Después de usar cualquiera de las dos opciones:

  1. Confirme que el repositorio y las ramas existen en el proyecto en Repos.
  2. Compruebe que la wiki aparece en el proyecto en Información general>Wiki.
  3. Compruebe los permisos, los vínculos y los widgets a los que se hace referencia a la wiki anterior.

Nota

  • La papelera de reciclaje y algunas API de registro wiki son preliminares y pueden cambiar; pruébelas en una organización que no sea de producción y use la versión de API documentada para su entorno.
  • En el caso de las wikis del proyecto (wikis aprovisionadas), use type: "projectWiki" en lugar de "codeWiki" en la llamada a la API REST y omita las repositoryId propiedades y mappedPath .

Paso siguiente