Ошибки валидации Миграция с сервера Devops на сервисы Devops - PullRequest
0 голосов
/ 01 апреля 2020

Я тестирую миграцию проекта с локального сервера DevOps (последнее обновление 2019 г. 1.1) на сервисы DevOps. Я использую последнюю версию DataMigrationTool (Migrate.exe) и вижу очень странные результаты.

Я использую

Migrator.exe validate /collection:http://localhost:8080/tfs/MyCollection /saveprocesses

Проблемы включают:

  1. Проект, использующий неизмененный процесс например, 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?

Если я не могу их на самом деле исправить, то на что указывают эти ошибки? Что-то не так с инструментом? Как я могу обойти их?

1 Ответ

0 голосов
/ 02 апреля 2020

Я протестировал инструмент миграции с 17.153.29522.3 (AzureDevOps2019.Update1.1), и он работает, как и ожидалось.

Похоже, ваш рабочий элемент Задача настроен и есть ошибки, вам нужно сначала устранить ошибки. Если у вас есть другие коллекции, вы можете обработать проверку вместе с ними, чтобы узнать, сможете ли вы успешно пройти проверку.

...