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.
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.
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>"
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.
Verwante artikelen:
- Veelgestelde vragen over migratie- en procesmodellen
witadmin
: Objecten aanpassen en beheren voor het bijhouden van werk- Verschillen tussen azure DevOps Services en azure DevOps Server-processjabloonaanpassingen
- Functies configureren na de upgrade van Azure DevOps Server
- Validatiefouten oplossen
- Globale lijsten definiëren in Azure DevOps Server
- PowerShell-scripts voor procesaanpassing
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor