Ověřování a řešení chyb souvisejících se šablonami procesů

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

V rámci procesu importu migrace nástroj pro migraci dat zkontroluje proces používaný projekty v kolekci. Opravte všechny chyby, které se označí příznakem.

Po vyřešení chyb spusťte příkaz nástroje pro validate migraci dat znovu a ověřte, že byly opraveny všechny chyby.

Poznámka:

K pokroku při importu se doporučuje použít průvodce migrací. Průvodce podle potřeby odkazuje na technickou dokumentaci.

Ve verzi Azure DevOps Serveru 2019 se služba TFS Database Import Service změnila na migraci do Azure DevOps. To zahrnuje, že tfsMigrator se stává nástrojem pro migraci dat nebo migrací na krátkou dobu. Tato služba stále funguje stejně jako stará služba importu. Pokud používáte starší verzi místního prostředí se sadou TFS jako branding, můžete tuto funkci použít k migraci do Azure DevOps, pokud upgradujete na jednu z podporovaných verzí.

Typy ověřování procesů

Nástroj pro migraci dat během ověřování určuje model cílového procesu pro každý projekt. Každému projektu v kolekci automaticky přiřadí jeden z následujících dvou procesních modelů:

  • Model zděděného procesu: Pokud byl projekt vytvořen pomocí šablony procesu Agile, Scrum nebo CMMI a nebyl nikdy přizpůsoben.
  • Model hostovaného procesu XML: Pokud se zdá, že byl proces projektu přizpůsobený. Přizpůsobený proces obsahuje vlastní pole, typy pracovních položek nebo jiné typy přizpůsobení.

Pokud je hostovaný proces XML cílovým modelem procesu, nástroj pro migraci dat ověří, jestli je možné migrovat vlastní nastavení. Nástroj pro migraci dat během ověřování vygeneruje dva soubory:

  • DataMigrationTool.log: Obsahuje sadu chyb ověřování procesů nalezených v kolekci. Opravte všechny zjištěné chyby procesu a pokračujte v migraci.

  • TryMatchOobProcesses.log: Obsahuje seznamy pro každý projekt, který model cílového procesu – Dědičnost nebo hostovaný XML. U projektů, které jsou nastavené tak, aby cílily na model hostovaného procesu XML, vysvětluje, proč se považují za přizpůsobené. Tyto chyby nemusíte opravovat, ale poskytují pokyny, co dělat v případě, že chcete migrovat na model procesu dědičnosti. Všimněte si, že po importu kolekce můžete projekt migrovat do modelu procesu dědičnosti.

Většina zákazníků má v kolekci kombinaci projektů. Některé projekty používají výchozí šablonu procesu a jiné používají vlastní šablony procesů. Nástroj pro migraci dat zkontroluje a ověří každý projekt odpovídajícím způsobem. Je velmi možné, že budete mít kombinaci projektů, některé mapované na zděděný proces a jiné na hostovaný proces XML.

Doporučujeme, abyste u všech projektů, které nebyly přizpůsobené, zkontrolovali TryMatchOobProcesses.log a zjistili, jestli nedošlo k nějakým chybám. Pokud ano, proveďte odpovídající úpravy tak, aby projekt mohl být mapován na zděděný proces při importu dat.

Aktualizace na systémový proces

Pokud jste začali se starší verzí Azure DevOps Serveru, je možné, že vaše projekty stále používají starší šablonu procesu. Pokud tyto projekty nebyly aktualizovány pomocí Průvodce konfigurací funkcí, nástroj pro migraci dat najde chyby procesu. V některých výjimečných případech, pokud je váš proces velmi starý, ani Průvodce konfigurací funkcí nebude moct chyby vyřešit.

Tady je několik příkladů chybových zpráv, které se můžou zobrazit:

Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402571: Required element PortfolioBacklog is missing from Process Configuration.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402571: Required element BugWorkItems is missing from Process Configuration.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402571: Required element FeedbackRequestWorkItems is missing from Process Configuration.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402571: Required element FeedbackResponseWorkItems is missing from Process Configuration.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField Team.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField RemainingWork.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField Order.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField Effort.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField Activity.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField ApplicationStartInformation.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField ApplicationLaunchInstructions.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF402574: ProcessConfiguration doesn't specify required TypeField ApplicationType.
Invalid process template: WorkItem Tracking\Process\ProcessConfiguration.xml:: TF400572: The Project Process Settings must be configured for this feature to be used.

Pokud jste projekt nikdy nepřizpůsobili (přidaná pole, typy pracovních položek atd.), oprava těchto chyb je ve skutečnosti poměrně jednoduchá. Pokud jste proces přizpůsobili, tento přístup nebude fungovat. Šablony procesů budete muset změnit ručně, aby se vaše vlastní nastavení nepřepsala.

Nejprve se ujistěte, že víte, jaký proces projekt začal. Jedná se o Scrum, Agile nebo CMMI? V tomto příkladu předpokládejme agilní. Dále přejděte do skriptů přizpůsobení procesu, které jsou k dispozici na GitHubu, a stáhněte si úložiště. V tomto případě se zaměříme na obsah ve složce Import .

Pomocí skriptu ConformProject.ps1 vyhovíte projektu podle vašeho výběru k procesu agilního systému. Tím se aktualizuje celý projekt tak, aby byl agilní.

.\ConformProject.ps1 "<collection url>" "<project name>" "c:\process-customization-scripts\import\agile" 

Ujistěte se, že to uděláte pro každý projekt a každý projekt.

Řešení chyb procesů

Jsou šablony procesů přizpůsobené? Používáte starší zastaralou šablonu procesu? Pokud ano, pravděpodobně dojde k chybám ověření procesu. Nástroj pro migraci dat provede vyčerpávající kontrolu šablon procesů. Kontroluje, jestli je platná pro Azure DevOps Services. Pravděpodobnost je, že budete muset udělat nějaké úpravy a použít je u své kolekce.

Poznámka:

Pokud používáte proces OOB Agile, Scrum nebo CMMI, pravděpodobně se v DataMigrationTool.log nezobrazí žádné chyby. Místo toho zkontrolujte , jestli TryMatchOobProcesses.log chyby. Pokud dojde k chybě zdarma, projekt se mapuje na proces OOB.

V Azure DevOps Services nefunguje několik přizpůsobení. Zkontrolujte seznam podporovaných přizpůsobení .

Pokud máte projekty, které používají starší šablonu procesu, nástroj pro migraci dat najde několik chyb. Důvodem je to, že šablony procesů nebyly aktualizovány tak, aby odpovídaly nejnovějším šablonům procesů. Pokud chcete spustit, zkuste spustit Průvodce konfigurací funkcí pro každý projekt. Tím se pokusíte aktualizovat šablony procesů nejnovějšími funkcemi. Tím by se měl výrazně snížit počet chyb.

Nakonec se ujistěte, že máte witadmin na počítači, který chcete použít k opravě chyb procesu. Může to být vaše místní plocha. Nástroj witadmin příkazového řádku se používá v automatizovaných skriptech a vyžaduje se při provádění změn šablon procesů.

Krok 1 – kontrola chyb

DataMigrationTool.log soubor se vygeneruje a obsahuje seznam chyb nalezených procesem ověření. Pokud chcete zobrazit protokoly, otevřete soubor DataMigrationTool.log. Vyhledejte řetězec "Validation – Starting validation of project 1" (Ověření – zahájení ověřování projektu 1). Každý projekt se ověří. Prohledejte všechny projekty a vyhledejte všechny řádky, které obsahují předponu [Chyba ....

Soubor protokolování procesu vygenerovaný nástrojem pro migraci dat

Seznam chyb ověření najdete v tématu Řešení chyb ověření pro import procesu. Pro každou chybu ověření jsme zadali číslo chyby, popis a metodu, která se má vyřešit.

Krok 2 – Oprava chyb

Jakmile určíte, které projekty obsahují chyby a podrobnosti o chybě, opravte chyby. Oprava chyb vyžaduje, abyste změnili syntaxi XML a použili změny zpět do projektu.

Poznámka:

K tomu doporučujeme, abyste k tomu nepoužít nástroje TFS Power Tools. Místo toho důrazně doporučujeme upravit XML ručně.

Pokud chcete získat šablonu procesu z projektu, přidejte parametr /SaveProcesses při spuštění příkazu nástroje pro migraci dat.

Migrator validate /collection:{collection URL} /tenantDomainName:{name} /region:{region} /SaveProcesses

Tento příkaz extrahuje XML z projektu a umístí ho do stejné složky jako protokoly. Extrahujte soubory ZIP do místního počítače, abyste mohli soubory upravovat.

Teď opravte KÓD XML. K určení chyb jednotlivých projektů použijte protokoly ze DataMigrationTool.log souboru.

Soubor protokolování procesu vygenerovaný nástrojem pro migraci dat

Některé chyby vyžadují, abyste použili witadmin changefield příkaz. Nejběžnějším příkladem je změna názvu pole. Pokud si chcete ušetřit čas, doporučujeme spustit witadmin changefield příkaz a pak nástroj pro migraci dat znovu spustit. Tím se xml znovu exportuje se správnými názvy. V opačném případě budete muset pole v syntaxi XML opravit ručně.

Jakmile provedete opravu, použijte změny zpět na Azure DevOps Server. K tomu budete muset v závislosti na provedených změnách spustit jeden nebo více witadmin příkazů. Abychom vám to usnadnili, vytvořili jsme skript PowerShellu pro automatizaci procesu. Skript obsahuje všechny witadmin příkazy potřebné pro splnění celého procesu.

Skripty můžete získat ve skriptech přizpůsobení procesu. Použijte skript import/ ConformProject.ps1 .

.\conformproject.ps1 "<collection url>" "<project name>" "<process template folder>"

Skript, který je spuštěný v souladu s procesy projektu

Po dokončení skriptu znovu spusťte nástroj pro migraci dat a ověřte kolekci. Postupujte podle kroků 1 až 3, dokud nástroj pro migraci dat negeneruje žádné další chyby ověření.

Tip

Pokud s XML teprve začínáte, witadmindoporučujeme, abyste najednou udělali jednu opravu a pak se shodili. Pokračujte v této smyčce, dokud se nevyřeší všechny chyby.

Běžné chyby ověřování

VS402841: Pole X v typu Pracovní položka Chyba má syncnamechanges=false, ale obsahuje pravidla, která tvoří pole identity. Pole identity musí mít syncnamechanges=true. Aktualizujte šablonu procesu tak, aby zahrnovala tuto změnu.

V Azure DevOps Services jsme přidali pravidlo, aby každé pole identity muselo mít atribut syncnamechanges=true . V Azure DevOps Serveru se toto pravidlo nepoužije. Nástroj pro migraci dat proto tento problém identifikuje. Nemějte obavy, provedení této změny v místním Azure DevOps Serveru nezpůsobí žádné škody.

Spusťte příkaz witadmin changefield. Syntaxe příkazu vypadá nějak takto:

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:fieldname /syncnamechanges:true

Další informace o příkazu naleznete v witadmin changefield tématu Správa polí pracovních položek.

TF402556: Aby bylo možné správně definovat id iterace pole System.IterationId, musíte ho pojmenovat a nastavit jeho typ na Celé číslo.

Tato chyba je typická pro staré šablony procesů. Zkuste v každém projektu spustit Průvodce konfigurací funkcí. Případně můžete spustit následující witadmin příkaz:

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:fieldname /name:newname

TF402571: V konfiguraci procesu chybí požadovaný element BugWorkItems.

K této chybě obvykle dochází v případě, že se proces během určité doby neaktualizoval. Zkuste spustit průvodce konfigurací funkcí v jednotlivých projektech a vyřešit je.

TF402564: Definovali jste globální seznamy XX. Je povoleno pouze 64.

Služba Azure DevOps Services ve výchozím nastavení bude podporovat 64 globálních seznamů. K této chybě obvykle dochází, pokud máte velké množství kanálů buildu. Globální seznam sestavení – TeamProjectName se vytvoří pro každý nový kanál buildu. Budete muset odebrat zastaralé globální seznamy.