Partilhar via


Restaurar um wiki excluído

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022

Se um usuário excluiu acidentalmente um wiki provisionado (projeto) ou publicado (código), você pode 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 Requerimentos
Acesso ao projeto Membro do projeto onde 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 as partes interessadas.
Permissões - Para adicionar ou editar páginas wiki: Membro do Contribuidores grupo.
- Para publicar código como wiki: é necessária a permissão Criar Repositório. Por padrão, essa permissão é definida para membros do grupo Administradores de Projeto.
Níveis de acesso Pelo menos acesso básico .

Restaurar um wiki completo

Wikis, tanto o projeto quanto o código, são armazenados como repositórios em 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 THE 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 o 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 o 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. Restaure o wiki da lixeira do repositório.

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

O conteúdo do repositório é restaurado. Se a interface do usuário do wiki não reaparecer automaticamente, publique o repositório restaurado como um wiki ou crie um wiki através da API REST do Wiki para registrá-lo novamente no projeto.

Restaurar uma página wiki

  1. Vá para o URL do seu repositório: https://dev.azure.com/<OrgName>/<ProjectName>/_git/classicreleaseoption.wiki.

  2. Procure o histórico do ramo principal, wikiMain.

  3. Encontre e selecione o commit que tem os arquivos eliminados.

  4. Selecione Mais açõese, em seguida, Reverter.

  5. Crie e conclua um pull request.

Sua página wiki é restaurada.

Restaurar uma página wiki com a CLI

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

  1. Clone o wiki para a sua máquina local.
  2. Encontre o commit que eliminou a página.
  3. Confira o compromisso.
  4. Copie a página para fazer 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 do contentor de reciclagem recupera o repositório Git (páginas wiki e histórico), mas nem sempre recria o registo wiki ou a associação de nome de ficheiro na interface do utilizador.

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

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

  1. Vá para Visão Geral>Wiki em seu projeto.
  2. Se nenhum wiki aparecer, selecione Publicar código como wiki.
  3. Selecione o repositório restaurado e a ramificação (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. Crie um novo wiki usando o Wikis - Create REST API:

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

    Corpo do pedido:

    {
        "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}: Seu nome de organização do Azure DevOps
    • {project}: O nome ou ID do seu 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 da filial (geralmente wikiMaster)
  2. Verifique o registro wiki listando wikis usando o Wikis - List REST API:

    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 se o repositório e as ramificações existem em seu projeto em Repos.
  2. Verifique se o wiki aparece no seu projeto em Visão geral>do Wiki.
  3. Verifique permissões, links e quaisquer widgets que façam referência ao wiki antigo.

Observação

  • A lixeira e algumas APIs de registro wiki são visualizadas e podem ser alteradas — teste em uma organização que não seja de produção e use a versão da api documentada para 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óximo passo