Compartilhar via


Restaurar wiki excluído

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

Se um usuário tiver excluído acidentalmente um wiki provisionado (projeto) ou publicado (código), você poderá restaurá-lo. Embora não haja opções na interface do usuário para excluir um wiki, os usuários podem usar a API REST para excluir o repositório Git associado ao wiki.

Observação

Os repositórios excluídos permanecem na lixeira por 30 dias, após os quais são excluídos permanentemente e não podem ser restaurados.

Pré-requisitos

Categoria Requisitos
Acesso ao Projeto Membro do projeto em que o wiki está localizado. Se você não tiver acesso, solicite-o ao administrador do projeto. Qualquer pessoa com acesso ao projeto de equipe pode visualizar o wiki, incluindo partes interessadas.
Permissões – Para adicionar ou editar páginas wiki: Membro do grupo Colaboradores.
- Para publicar código como wiki: permissão Criar repositório. Por padrão, essa permissão é definida para membros do grupo Administradores do Projeto.
Níveis de Acesso No mínimo, acesso Básico.

Restaurar um wiki completo

Wikis, tanto de projeto quanto de código, são armazenados como repositórios no seu projeto no Azure DevOps. Conclua as etapas a seguir para restaurar um wiki completo com a API REST.

  1. Recuperar repositórios git: Listar repositórios.

    Use o parâmetro includeHidden=true para ver os repositórios 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. Pesquise na lixeira do seu repositório.

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

    Quando você encontrar seu repositório, geralmente chamado de .wiki, anote a ID do repositório.

    {
        "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 da lixeira do repositório o wiki.

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

A restauração do conteúdo do repositório. Se a interface do usuário wiki não reaparecer automaticamente, publique o repositório restaurado como wiki ou crie um wiki por meio da API REST wiki para registrá-lo novamente no projeto.

Restaurar uma página wiki

  1. Acesse a URL do seu repositório: https://dev.azure.com/<OrgName>/<ProjectName>/_git/classicreleaseoption.wiki.

  2. Pesquise o histórico do branch principal, wikiMain.

  3. Encontre e selecione o commit que contém os arquivos excluídos.

  4. Selecione Mais ações e Reverter.

  5. Crie e conclua uma solicitação de pull.

A página wiki é restaurada.

Restaurar uma página wiki com CLI

Se você preferir opções de linha de comando, siga as etapas a seguir.

  1. Clone o wiki em seu computador local.
  2. Pesquise pelo commit que possui a página excluída.
  3. Confira a confirmação.
  4. Copie a página para criar uma nova confirmação.

Sua página wiki foi restaurada.

Excluir um repositório

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

Reassociar um wiki restaurado

A restauração da lixeira recupera o repositório Git (páginas wiki e histórico), mas nem sempre recria o registro wiki ou a associação de nome de arquivo na interface do usuário.

Se o wiki não aparecer depois de restaurar o repositório, você terá duas opções:

Opção 1: Republicar via interface do usuário

  1. Acesse a Visão geral>do Wiki em seu projeto.
  2. Se nenhum wiki for exibido, selecione Publicar código como wiki.
  3. Selecione o repositório restaurado e o branch (geralmente wikiMaster).
  4. Forneça um nome wiki e um caminho de pasta, se necessário.
  5. Selecione Publicar.

Para obter etapas detalhadas, consulte Publicar um repositório Git em um wiki.

Opção 2: recriar o registro wiki com a API REST

  1. Criar um wiki usando o Wikis – Criar API REST:

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

    Corpo da solicitação:

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

    Substitua os seguintes valores:

    • {organization}: o nome da sua organização do Azure DevOps
    • {project}: seu nome ou ID do projeto
    • name: nome de exibição para o wiki
    • projectId: ID do projeto da etapa 2
    • repositoryId: ID do repositório da etapa 2
    • mappedPath: caminho da pasta raiz (geralmente /)
    • version: nome do branch (geralmente wikiMaster)
  2. Verifique o registro wiki listando wikis usando o Wikis – Listar a API REST:

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

Verificação pós-restauração

Depois de usar qualquer uma das opções:

  1. Confirme que o repositório e os branches existem em seu projeto no Repos.
  2. Verifique se o wiki aparece em seu projeto em Visão geral>wiki.
  3. Verifique permissões, links e todos os widgets que referenciam o wiki antigo.

Observação

  • A lixeira e algumas APIs de registro wiki estão em pré-visualização e podem ser alteradas—teste em uma organização não-produtiva e use a versão de API documentada para o seu ambiente.
  • Para wikis de projeto (wikis provisionados), use type: "projectWiki" em vez de "codeWiki" na chamada à API REST e omita as propriedades repositoryId e mappedPath.

Próxima etapa