Udostępnij przez


Przywracanie usuniętej witryny typu wiki

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

Jeśli użytkownik przypadkowo usunął aprowizowaną (projekt) lub opublikowaną (kodową) witrynę typu wiki, możesz ją przywrócić. Chociaż w interfejsie użytkownika nie ma opcji usuwania witryny typu wiki, użytkownicy mogą użyć interfejsu API REST do usunięcia repozytorium Git skojarzonego ze witryną typu wiki.

Notatka

Usunięte repozytoria pozostają w koszu przez 30 dni, po czym zostaną trwale usunięte i nie można ich przywrócić.

Warunki wstępne

Kategoria Wymagania
Dostęp do projektu Członek projektu, w którym znajduje się witryna typu wiki. Jeśli nie masz dostępu, poproś go od administratora projektu. Każda osoba mająca dostęp do projektu zespołowego może wyświetlić witrynę typu wiki, w tym osoby biorące udział w projekcie.
uprawnienia - Aby dodać lub edytować strony typu wiki: Członek grupy Contributors.
— Aby opublikować kod jako witrynę typu wiki: Uprawnienia do tworzenia repozytorium. Domyślnie to uprawnienie jest ustawiane dla członków grupy administratorzy projektu .
poziomy dostępu Co najmniej Podstawowy dostęp.

Przywracanie kompletnej witryny typu wiki

Witryny typu wiki, zarówno projektu, jak i kodu, są przechowywane jako repozytoria w projekcie w usłudze Azure DevOps. Wykonaj poniższe kroki, aby przywrócić pełną witrynę typu wiki za pomocą interfejsu API REST.

  1. Pobieranie repozytoriów Git: Wyświetl repozytoria .

    Użyj parametru includeHidden=true, aby wyświetlić repozytoria typu 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. Przeszukaj kosz w poszukiwaniu swojego repozytorium.

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

    Gdy znajdziesz repozytorium, często nazwane jako .wiki, zanotuj identyfikator repozytorium.

    {
        "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. Przywróć wiki z kosza repozytorium.

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

Przywracanie zawartości repozytorium. Jeśli interfejs użytkownika witryny typu wiki nie pojawia się automatycznie, opublikuj przywrócone repozytorium jako witrynę typu wiki lub utwórz witrynę typu wiki za pośrednictwem interfejsu API REST wiki, aby ponownie zarejestrować je w projekcie.

Przywracanie strony typu wiki

  1. Przejdź do adresu URL repozytorium: https://dev.azure.com/<OrgName>/<ProjectName>/_git/classicreleaseoption.wiki.

  2. Wyszukaj historię głównej gałęzi, wikiMain.

  3. Znajdź i wybierz zatwierdzenie zawierające usunięte pliki.

  4. Wybierz Więcej opcji, a następnie Przywróć.

  5. Utwórz i zakończ pull request.

Twoja strona wiki zostaje przywrócona.

Przywracanie strony typu wiki za pomocą interfejsu wiersza polecenia

Jeśli wolisz opcje wiersza polecenia, wykonaj następujące kroki.

  1. Sklonuj witrynę typu wiki na komputer lokalny.
  2. Wyszukaj zatwierdzenie, które usunęło stronę.
  3. Sprawdź commit.
  4. Skopiuj stronę, aby utworzyć nowe zatwierdzenie.

Twoja strona wiki została przywrócona.

Usuwanie repozytorium

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

Ponowne kojarzenie przywróconej witryny typu wiki

Przywracanie kosza na śmieci odzyskuje repozytorium Git (strony wiki i historię), ale nie zawsze ponownie tworzy rejestrację wiki ani skojarzenie nazw plików w interfejsie użytkownika.

Jeśli witryna typu wiki nie zostanie wyświetlona po przywróceniu repozytorium, masz dwie opcje:

Opcja 1. Ponowne publikowanie za pośrednictwem interfejsu użytkownika

  1. Przejdź do Przegląd>Wiki w projekcie.
  2. Jeśli żadna witryna typu wiki nie zostanie wyświetlona, wybierz pozycję Publikuj kod jako witrynę typu wiki.
  3. Wybierz przywrócone repozytorium i gałąź (zazwyczaj wikiMaster).
  4. W razie potrzeby podaj nazwę witryny typu wiki i ścieżkę folderu.
  5. Wybierz Publikuj.

Aby uzyskać szczegółowe instrukcje, zobacz Publikowanie repozytorium Git w witrynie typu wiki.

Opcja 2. Ponowne tworzenie rejestracji witryny typu wiki przy użyciu interfejsu API REST

  1. Utwórz nowe wiki przy użyciu Wikis - Create REST API:

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

    Treść żądania:

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

    Zastąp następujące wartości:

    • {organization}: Nazwa organizacji usługi Azure DevOps
    • {project}: Nazwa lub identyfikator projektu
    • name: Nazwa wyświetlana witryny typu wiki
    • projectId: Identyfikator projektu z kroku 2
    • repositoryId: Identyfikator repozytorium z kroku 2
    • mappedPath: Ścieżka folderu głównego (zwykle /)
    • version: Nazwa gałęzi (zwykle wikiMaster)
  2. Sprawdź rejestrację witryny typu wiki , wyświetlając listę witryn typu wiki przy użyciu interfejsu API REST wiki — lista :

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

Weryfikacja po przywróceniu

Po użyciu jednej z opcji:

  1. Upewnij się, że w Twoim projekcie w sekcji Repos istnieją repozytorium i gałęzie.
  2. Sprawdź, czy wiki pojawia się w twoim projekcie w sekcji Przegląd>Wiki.
  3. Sprawdź uprawnienia, linki i wszystkie widżety odwołujące się do starej witryny typu wiki.

Notatka

  • Kosz na śmieci i niektóre interfejsy API rejestracji typu wiki są w wersji zapoznawczej i mogą ulec zmianie — należy testować w środowisku nieprodukcyjnym i używaj wersji interfejsu API udokumentowanej dla danego środowiska.
  • W przypadku wikiprojektów (udostępnionych witryn typu wiki) użyj type: "projectWiki" zamiast "codeWiki" w wywołaniu interfejsu API REST i pomiń właściwości repositoryId i mappedPath.

Następny krok