Я тестирую миграцию проекта с локального сервера DevOps (последнее обновление 2019 г. 1.1) на сервисы DevOps. Я использую последнюю версию DataMigrationTool (Migrate.exe) и вижу очень странные результаты.
Я использую
Migrator.exe validate /collection:http://localhost:8080/tfs/MyCollection /saveprocesses
Проблемы включают:
- Проект, использующий неизмененный процесс например, vanilla Scrum не совпадает. Например:
[Info @14:59:27.587] === Found 220 error(s) when compared against process TFS 2019 RTM Scrum ===
[Error @14:59:27.587] Rules for field 'Microsoft.VSTS.Common.Priority' do not match at level 'Task'.
[Error @14:59:27.587] Rules for field 'Microsoft.VSTS.Common.Activity' do not match at level 'Task'.
[Error @14:59:27.587] Rules for field 'Microsoft.VSTS.Build.IntegrationBuild' do not match at level 'Task'.
[Error @14:59:27.587] Rules for field 'Microsoft.VSTS.CMMI.Blocked' do not match at level 'Task'.
[Error @14:59:27.587] Custom type 'Task' added a new field 'Microsoft.VSTS.Common.ActivatedDate'.
[Error @14:59:27.587] Custom type 'Task' added a new field 'Microsoft.VSTS.Common.ActivatedBy'.
[Error @14:59:27.587] Custom type 'Task' added rules for field 'System.Reason' at level 'transition[To Do->In Progress]'.
[Error @14:59:27.587] Custom type 'Task' added rules for field 'System.Reason' at level 'transition[In Progress->Done]'.
[Error @14:59:27.587] Custom type 'Task' added rules for field 'System.Reason' at level 'transition[To Do->Done]'.
[Error @14:59:27.587] Custom type 'Task' added rules for field 'System.Reason' at level 'transition[->To Do]'.
В документации сказано, что неизмененные процессы должны совпадать без ошибок. Что означают эти ошибки?
Экспортированный процесс xml не соответствует схеме, что приводит к сотням ошибок проверки даже для проекта, использующего
неизмененный процесс (в коллекции, где другие проекты имеют измененный / унаследованный процесс) .
Пример:
<FIELD name="Severity" refname="Microsoft.VSTS.Common.Severity" type="String" reportable="dimension">
<ALLOWEXISTINGVALUE />
<ALLOWEDVALUES expanditems="true" />
<DEFAULT from="value" value="3 - Medium" />
<ALLOWEDVALUES expanditems="true" />
</FIELD>
Здесь тег allowvalues повторяется, и (если я правильно понимаю схему) не может быть пустым, но должен указывать GLOBALLIST
или LISTITEM
дети.
[Error @13:39:09.158] Step : ProcessValidation - Failure Type - Validation failed : Invalid process template: WorkItem Tracking\TypeDefinitions\Task.xml:158: TF402594: File violates the schema with the following error: The element 'ALLOWEDVALUES' has incomplete content. List of possible elements expected: 'GLOBALLIST, LISTITEM'.
[Error @13:39:09.158] Step : ProcessValidation - Failure Type - Validation failed : Invalid process template: WorkItem Tracking\TypeDefinitions\Task.xml:167: TF402594: File violates the schema with the following error: The element 'ALLOWEDVALUES' has incomplete content. List of possible elements expected: 'GLOBALLIST, LISTITEM'.
[Error @13:39:09.158] Step : ProcessValidation - Failure Type - Validation failed : Invalid process template: WorkItem Tracking\TypeDefinitions\Task.xml:172: TF402594: File violates the schema with the following error: The element 'ALLOWEDVALUES' has incomplete content. List of possible elements expected: 'GLOBALLIST, LISTITEM'.
[Error @13:39:09.158] Step : ProcessValidation - Failure Type - Validation failed : Invalid process template: WorkItem Tracking\TypeDefinitions\Task.xml:203: TF402594: File violates the schema with the following error: The element 'ALLOWEDVALUES' has incomplete content. List of possible elements expected: 'GLOBALLIST, LISTITEM'.
[Error @13:39:09.158] Step : ProcessValidation - Failure Type - Validation failed : Invalid process template: WorkItem Tracking\TypeDefinitions\Task.xml:215: TF402594: File violates the schema with the following error: The element 'ALLOWEDVALUES' has incomplete content. List of possible elements expected: 'GLOBALLIST, LISTITEM'.
[Error @13:39:09.158] Step : ProcessValidation - Failure Type - Validation failed : Invalid process template: WorkItem Tracking\TypeDefinitions\Task.xml:243: TF402594: File violates the schema with the following error: The element 'ALLOWEDVALUES' has incomplete content. List of possible elements expected: 'GLOBALLIST, LISTITEM'.
Проверка проекта с использованием
модифицированного процесса (унаследованного от Scrum), где некоторые типы рабочих элементов имеют новые состояния, содержит все ошибки от неизмененного процесса И также дополнительные нарушения схемы. Например:
<TRANSITION from="X" to="Resolved">
<REASONS>
<DEFAULTREASON value="Moved out of state X" />
<DEFAULTREASON value="Moved to state Resolved " />
</REASONS>
</TRANSITION>
<REASONS>
может иметь только один тег <DEFAULTREASON>
. Это касается состояний в унаследованном процессе. Если эти ошибки должны быть «исправлены» для переноса проекта, как я могу это сделать? Где редактируются состояния и переходы в модели процесса наследования в DevOps Server 2019?
Если я не могу их на самом деле исправить, то на что указывают эти ошибки? Что-то не так с инструментом? Как я могу обойти их?