Ripristinare un wiki eliminato

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

Se un utente ha eliminato un wiki di cui è stato effettuato il provisioning (progetto) o pubblicato (codice) per errore, è possibile ripristinarlo. Non sono disponibili opzioni tramite l'interfaccia utente per eliminare un wiki, ma un utente potrebbe aver usato l'API REST per eliminare il repository associato al wiki.

Nota

I repository eliminati rimangono nel Cestino per 30 giorni, dopo il quale vengono eliminati definitivamente e non possono essere ripristinati.

Prerequisiti

  • Per ripristinare un wiki, è necessario avere almeno l'accesso di base.
  • È necessario disporre dell'autorizzazione Create Repository (Crea repository ) per pubblicare il codice come wiki. Per impostazione predefinita, questa autorizzazione è impostata per i membri del gruppo di amministratori di progetto.
  • Chiunque sia membro del gruppo di sicurezza Collaboratori può aggiungere o modificare pagine del wiki. Chiunque abbia accesso al progetto team, inclusi gli stakeholder, può visualizzare il wiki.
  • È necessario disporre dell'autorizzazione Create Repository (Crea repository ) per pubblicare il codice come wiki. Per impostazione predefinita, questa autorizzazione è impostata per i membri del gruppo di amministratori di progetto.
  • Chiunque sia membro del gruppo di sicurezza Collaboratori può aggiungere o modificare pagine del wiki. Chiunque abbia accesso al progetto team, inclusi gli stakeholder, può visualizzare il wiki.

Ripristinare un wiki completo

I wiki, sia di progetto che di codice, vengono archiviati come repository nel progetto in Azure DevOps. Completare i passaggi seguenti per ripristinare un wiki completo con l'API REST.

  1. Recuperare i repository Git: elencare i repository.

    Usare il parametro THE includeHidden=true per visualizzare i repository 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
        }
  1. Cercare il cestino per il repository.
GET https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/recycleBin/repositories?api-version=7.1-preview.1

Quando si trova il repository, spesso denominato come .wiki, prendere nota dell'ID del repository.

{
    "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. Ripristinare il wiki dal Cestino del repository.
PATCH https://dev.azure.com/christiechurch/fabrikamfiber/_apis/git/recycleBin/repositories/978e3886-64a8-4b6f-96da-6afc2936b04b?api-version=7.1-preview.1
{
    "deleted": false
}

Il wiki viene ripristinato.

Ripristinare una pagina wiki

  1. Passare all'URL del repository: https://dev.azure.com/<OrgName>/<ProjectName>/_git/classicreleaseoption.wiki.

  2. Cercare la cronologia per il ramo principale, wikiMain.

  3. Trovare e selezionare il commit con i file eliminati.

  4. Selezionare Altre azioni e quindi Ripristina.

  5. Creare e completare una richiesta pull.

La pagina wiki viene ripristinata.

Ripristinare una pagina wiki con l'interfaccia della riga di comando

Se si preferisce le opzioni della riga di comando, seguire questa procedura.

  1. Clonare il wiki nel computer locale.
  2. Cercare il commit che ha eliminato la pagina.
  3. Estrai il commit.
  4. Copiare la pagina per eseguire un nuovo commit.

La pagina wiki viene ripristinata.

Eliminare un repository

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

Passaggi successivi