Eliminare una project wiki di Azure DevOps

di Matteo Tumiati, in DevOps,

Recentemente ho avuto la necessità di creare una code wiki in Azure DevOps, ovvero una Wiki basata su un repository di Azure DevOps. Questo perchè avevo già a disposizione un repository con il codice sorgente di un microservizio, e questo conteneva la documentazione in una apposita cartella "/docs", generata in automatico per me.

Al momento della creazione della Wiki, mi sono però accorto che già ne esisteva una di progetto (project wiki), che non mi permetteva di utilizzare il repository che avevo già a disposizione, perché, per l'appunto, non è direttamente collegata ad un repository che possiamo modificare a nostro piacimento. A questo punto ho deciso di creare una code wiki, che mi permette di utilizzare il repository che già avevo a disposizione, ma così mi sono ritrovato con due Wiki e non era quello che volevo.

L'idea era quindi di migrare il contenuto già esistente nella project wiki dentro la coded wiki, per poi eliminarla e tenere solo la documentazione basata su git.

Tecnicamente una project Wiki può comunque essere clonata come un qualsiasi repository tramite il comando (un po' nascosto):

git clone https://<org>@dev.azure.com/<org>/<project>/_git/<project>.wiki

A questo punto è sufficiente copia i file nella nuova destinazione, ovvero la coded wiki e quindi pubblicare l'aggiornamento. Rimane il problema che abbiamo due wiki, mentre noi vogliamo eliminare quella di progetto. Purtroppo, anche tramite la CLI questo non è fattibile e il seguente comando ritornerà un errore:

az devops wiki delete -wiki <wiki-id> --organization https://dev.azure.com/<org> --project <project>

Questo perchè il comando funziona solamente sulle nuove wiki di tipo code-based. Per eliminarla, dobbiamo quindi fare un workaround, ovvero eliminare il repository che si trova dietro la project wiki:

REPOSITORY_ID=$(az devops wiki list --org https://dev.azure.com/<org> --project <project> | jq -r '.[] | select(.type == "projectWiki") | .id')
az repos delete --id $REPOSITORY_ID --org https://dev.azure.com/<org> --project <org>

A questo punto navigando la wiki ci ritroveremo solo con la coded wiki. Attenzione perchè l'operazione non è reversibile e quindi è bene farsi una copia prima di procedere alla cancellazione.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi