Fouten met betrekking tot processjablonen valideren en oplossen

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

Als onderdeel van het importproces voor migratie controleert het hulpprogramma voor gegevensmigratie het proces dat door de projecten in de verzameling wordt gebruikt. Los eventuele fouten op die worden gemarkeerd.

Nadat de fouten zijn opgelost, voert u de opdracht van validate het hulpprogramma voor gegevensmigratie opnieuw uit om te controleren of alle fouten zijn opgelost.

Notitie

Het is raadzaam om de migratiehandleiding te gebruiken om door uw import te gaan. De handleiding bevat zo nodig koppelingen naar de technische documentatie.

Met de release van Azure DevOps Server 2019 werd de TFS Database Import Service hernoemd naar Azure DevOps. Dit omvat tfsMigrator die het hulpprogramma voor gegevensmigratie of migratie voor korte tijd wordt. Deze service werkt nog steeds precies hetzelfde als de oude importservice. Als u een oudere versie van on-premises met TFS gebruikt als huisstijl, kunt u deze functie nog steeds gebruiken om naar Azure DevOps te migreren zolang u een upgrade uitvoert naar een van de ondersteunde versies.

Procesvalidatietypen

Tijdens de validatie bepaalt het hulpprogramma voor gegevensmigratie het doelprocesmodel voor elk project. Er wordt automatisch een van de volgende twee procesmodellen toegewezen aan elk project in de verzameling:

  • Overgenomen procesmodel: Als het project is gemaakt met de Agile-, Scrum- of CMMI-processjabloon en nooit is aangepast.
  • Gehost XML-procesmodel: Als het projectproces lijkt te zijn aangepast. Een aangepast proces bevat aangepaste velden, typen werkitems of andere typen aanpassingen.

Wanneer het gehoste XML-proces het doelprocesmodel is, valideert het hulpprogramma voor gegevensmigratie of de aanpassingen kunnen worden gemigreerd. Het hulpprogramma voor gegevensmigratie genereert twee bestanden tijdens de validatie:

  • DataMigrationTool.log: bevat de set procesvalidatiefouten in de verzameling. Los alle procesfouten op die zijn gevonden om door te gaan met uw migratie.

  • TryMatchOobProcesses.log: Geeft een lijst weer voor elk project het doelprocesmodel - Overname of gehoste XML. Voor projecten die zijn ingesteld voor het doel van het gehoste XML-procesmodel, wordt uitgelegd waarom ze worden beschouwd als aangepast. U hoeft deze fouten niet op te lossen, maar ze geven u richtlijnen voor het geval u wilt migreren naar het overnameprocesmodel. Zodra een verzameling is geïmporteerd, kunt u een project migreren naar een overnameprocesmodel.

De meeste klanten hebben een mix van projecten binnen een verzameling. Sommige projecten maken gebruik van een standaardprocessjabloon en andere maken gebruik van aangepaste processjablonen. Het hulpprogramma voor gegevensmigratie controleert en valideert elk project dienovereenkomstig. Het is zeer mogelijk dat u een combinatie van projecten hebt, sommige zijn toegewezen aan een overgenomen proces en andere aan een gehost XML-proces.

We raden u aan voor elk project dat niet is aangepast, dat u de TryMatchOobProcesses.log bekijkt om te bepalen of er fouten zijn. Zo ja, breng de aanpassingen dienovereenkomstig aan zodat het project kan worden toegewezen aan een overgenomen proces bij het importeren van gegevens.

Bijwerken naar een systeemproces

Als u met een oudere versie van Azure DevOps Server bent begonnen, zijn uw projecten nog steeds een oudere processjabloon. Als deze projecten niet zijn bijgewerkt met behulp van de wizard Functies configureren, vindt het hulpprogramma voor gegevensmigratie procesfouten. In sommige zeldzame gevallen, als uw proces erg oud is, kan zelfs de wizard Functies configureren de fouten niet oplossen.

Hier volgen enkele voorbeelden van foutberichten die u kunt ontvangen:

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.

Als u uw project nog nooit hebt aangepast (velden, typen werkitems enzovoort) hebt toegevoegd, is het oplossen van deze fouten eigenlijk vrij eenvoudig. Als u uw proces hebt aangepast, werkt deze aanpak niet. U moet de processjablonen handmatig wijzigen, zodat uw aanpassingen niet worden overschreven.

Zorg er eerst voor dat u weet welk proces uw project is gestart. Is het Scrum, Agile of CMMI? In dit voorbeeld gaan we ervan uit dat Agile. Ga vervolgens naar de scripts voor procesaanpassing op GitHub en download de opslagplaats. In dit geval richten we ons op de inhoud in de map Importeren .

Gebruik het conformProject.ps1-script om een project van uw keuze aan het Agile-systeemproces te voldoen. Hiermee wordt het hele project bijgewerkt naar Agile.

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

Zorg ervoor dat u dit doet voor elk en elk project.

Verwerkingsfouten oplossen

Zijn uw processjablonen aangepast? Gebruikt u een oudere verouderde processjabloon? Zo ja, dan hebt u waarschijnlijk procesvalidatiefouten. Het hulpprogramma voor gegevensmigratie voert een uitgebreide controle uit op uw processjablonen. Er wordt gecontroleerd of deze geldig is voor Azure DevOps Services. De kans is groot dat u enkele aanpassingen moet aanbrengen en deze op uw verzameling moet toepassen.

Notitie

Als u een OOB Agile-, Scrum- of CMMI-proces gebruikt, ziet u waarschijnlijk geen fouten in de DataMigrationTool.log. Controleer in plaats daarvan de TryMatchOobProcesses.log op fouten. Als u foutloos bent, wordt uw project toegewezen aan een OOB-proces.

Er zijn verschillende aanpassingen die niet werken in Azure DevOps Services. Controleer de lijst met aanpassingen die worden ondersteund.

Als u projecten hebt die een oudere processjabloon gebruiken, vindt het hulpprogramma voor gegevensmigratie verschillende fouten. Dit komt doordat uw processjablonen niet zijn bijgewerkt zodat deze overeenkomen met de meest recente processjablonen. Als u wilt beginnen, voert u de wizard Functies configureren voor elk project uit. Hiermee wordt geprobeerd uw processjablonen bij te werken met de meest recente functies. Als u dit doet, moet het aantal fouten drastisch worden verminderd.

Zorg er ten slotte voor dat u beschikt witadmin over de computer die u wilt gebruiken om de procesfouten op te lossen. Dit kan uw lokale bureaublad zijn. Het witadmin opdrachtregelprogramma wordt gebruikt in de geautomatiseerde scripts en is vereist wanneer u wijzigingen aanbrengt in de processjablonen.

Stap 1: Fouten controleren

DataMigrationTool.log bestand wordt gegenereerd en bevat de lijst met fouten die tijdens het validatieproces zijn gevonden. Als u de logboeken wilt bekijken, opent u DataMigrationTool.log bestand. Zoek de tekenreeks 'Validatie - validatie van project 1 starten'. Elk project wordt gevalideerd. Scan alle projecten en zoek naar regels die een voorvoegsel van [Fout ... bevatten.

Logboekregistratiebestand verwerken dat is gegenereerd door het hulpprogramma voor gegevensmigratie

Zie Validatiefouten voor procesimport oplossen voor een lijst met validatiefouten. Voor elke validatiefout hebben we het foutnummer, de beschrijving en de methode opgegeven die moet worden opgelost.

Stap 2: Fouten oplossen

Zodra u hebt vastgesteld welke projecten fouten en de foutdetails hebben, lost u de fouten op. Voor het oplossen van de fouten moet u de XML-syntaxis wijzigen en de wijzigingen weer toepassen op het project.

Notitie

We raden u aan TFS Power Tools niet te gebruiken om dit werk uit te voeren. In plaats daarvan raden we u ten zeerste aan om de XML handmatig te wijzigen.

Als u de processjabloon uit het project wilt ophalen, voegt u de parameter /SaveProcesses toe bij het uitvoeren van de opdracht voor het hulpprogramma voor gegevensmigratie.

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

Met deze opdracht wordt de XML uit het project geëxtraheerd en in dezelfde map geplaatst als de logboeken. Pak de zip-bestanden uit op uw lokale computer, zodat u de bestanden kunt bewerken.

Herstel nu de XML. Gebruik de logboeken uit het DataMigrationTool.log bestand om de fouten voor elk project te bepalen.

Logboekregistratiebestand verwerken dat is gegenereerd door het hulpprogramma voor gegevensmigratie

Voor sommige fouten moet u een witadmin changefield opdracht gebruiken. Het wijzigen van een veldnaam is het meest voorkomende voorbeeld. Als u tijd wilt besparen, raden we u aan de witadmin changefield opdracht uit te voeren en vervolgens het hulpprogramma voor gegevensmigratie opnieuw uit te voeren. Als u dit doet, wordt de XML opnieuw geëxporteerd met de gecorrigeerde namen. Anders moet u de velden in de XML-syntaxis ook handmatig herstellen.

Nadat u een oplossing hebt aangebracht, past u de wijzigingen weer toe op de Azure DevOps-server. Hiervoor moet u, afhankelijk van de wijzigingen die u hebt aangebracht, een of meer witadmin opdrachten uitvoeren. Om dit voor u gemakkelijker te maken, hebben we een PowerShell-script gemaakt om het proces te automatiseren. Het script bevat alle witadmin opdrachten die nodig zijn om het hele proces te voldoen.

U kunt de scripts ophalen bij Procesaanpassingsscripts. Gebruik het script import/ConformProject.ps1 .

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

Het script conform projectprocessen dat wordt uitgevoerd

Wanneer het script is voltooid, voert u het hulpprogramma voor gegevensmigratie opnieuw uit om de verzameling te valideren. Volg stap 1 tot en met 3 totdat het hulpprogramma voor gegevensmigratie geen validatiefouten meer genereert.

Tip

Als u niet bekend bent met XML en witadmin, raden we u aan om één oplossing tegelijk te maken en vervolgens te voldoen. Ga door met deze lus totdat alle fouten zijn opgelost.

Veelvoorkomende validatiefouten

VS402841: Veld X in werkitemtype Bug heeft syncnamechanges=false, maar heeft regels waardoor het een identiteitsveld wordt. Identiteitsvelden moeten syncnamechanges=true hebben. Werk uw processjabloon bij om deze wijziging op te nemen.

In Azure DevOps Services hebben we een regel toegevoegd, zodat elk identiteitsveld het kenmerk syncnamechanges=true moet hebben. In Azure DevOps Server is die regel niet van toepassing. Daarom identificeert het hulpprogramma voor gegevensmigratie dit als een probleem. Maak u geen zorgen, als u deze wijziging on-premises in Azure DevOps Server aanbrengt, kan dit geen kwaad.

Voer de opdracht witadmin changefield uit. De syntaxis voor de opdracht ziet er ongeveer als volgt uit:

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

Zie Werkitemvelden beheren voor meer informatie over de witadmin changefield opdracht.

TF402556: Voor veld System.IterationId moet u iteratie-id een naam geven en het type instellen op Geheel getal.

Deze fout is gebruikelijk voor oude processjablonen. Voer de wizard Functies configureren uit voor elk project. U kunt ook de volgende witadmin opdracht uitvoeren:

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

TF402571: Vereist element BugWorkItems ontbreekt in procesconfiguratie.

Deze fout treedt meestal op wanneer een proces al een tijdje niet is bijgewerkt. Voer de wizard Functies configureren uit voor elk project om dit op te lossen.

TF402564: U hebt globale XX-lijsten gedefinieerd. Er zijn slechts 64 toegestaan.

Standaard biedt Azure DevOps Services ondersteuning voor 64 globale lijsten. Deze fout wordt doorgaans uitgevoerd als u een grote hoeveelheid build-pijplijnen hebt. De algemene lijst met de naam Builds - TeamProjectName wordt gemaakt voor elke nieuwe build-pijplijn. U moet de verouderde algemene lijsten verwijderen.