Ошибка переупорядочения приоритета невыполненной работы в TFS2015
В TFS в отставании вы можете переупорядочивать рабочие элементы, выбирая и перетаскивая элементы в соответствии с желаемым порядком. Когда мы пытаемся сделать это с нашей последней установкой TFS 2015, появляется эта ошибка: Который говорит:
Произошла ошибка при попытке сохранить ваши изменения. Нажмите здесь, чтобы отменить изменения и обновить представление о невыполненных работах. Сведения об ошибке: TF400486: Невозможно завершить операцию, поскольку вы или другой пользователь изменили, удалили или повторно создали элементы, или вы пытаетесь изменить порядок элементов вне его непосредственного родителя.
Когда мы проверяем журнал событий на компьютере TFS, это исключение присутствует:
Microsoft.TeamFoundation.Server.WebAccess.Agile.Models.BacklogChangedException: TF400486: невозможно выполнить операцию, поскольку вы или другой пользователь изменили, удалили или повторно создали элементы, или вы пытаетесь изменить порядок элементов вне его непосредственного родителя, в Microsoft.TeamFoundation.Server.WebAccess.Agile.Utility.ProductBacklogReorderHelper.PerformReorder(операция ReorderOperation, WorkItemData previousItem, WorkItemData nextItem, WorkItemData reorderItem, Список
1 workItemsData) at Microsoft.TeamFoundation.Server.WebAccess.Agile.Utility.ProductBacklogReorderHelper.Reorder(ReorderOperation reorderOperation) at Microsoft.TeamFoundation.Server.WebAccess.Agile.Utility.ProductBacklogReorderHelper.<Reorder>b__0(ReorderOperation o) at System.Linq.Enumerable.<SelectManyIterator>d__14
2.MoveNext() в System.Linq.Enumerable.d__811.MoveNext() at System.Collections.Generic.List
1..ctor (IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable
1 источник) в Microsoft.TeamFoundation.Server.WebAccess.Agile.Controllers.ApiReorderWorkItemsController.ReorderWorkItems(операции ReorderOperation[], String hubCategoryRefName, String iterationPath) в lambda_method(закрытый объект). Элемент управления класса..Execute (ControllerContext controllerContext, IDictionary2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2 параметра) в System.Web.Mvc.Async.AsyncControllerActionInvoker.<> C__DisplayClass42.b__41() в System.Web.Mvc.Async.AsyncControllerActionInvoker.<> C__DisplayClass37.<> C__DisplayClass39.b__33. At (at). Async.AsyncControllerActionInvoker. <> C__DisplayClass4f.b__49() в System.Web.Mvc.Async.AsyncControllerActionInvoker.<> C__DisplayClass4f.b__49() в System.Web.Mvc.Async.Async______f__b.dll) (). Web.Mvc.Async.AsyncControllerActionInvoker. <> C__DisplayClass4f.b__49() в System.Web.Mvc.Async.AsyncControllerActionInvoker.<> C__DisplayClass4f.b__49() в System.Web.Mvc.Async.Asb___f_____DyncIn__Contor) в System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.b__49() в System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.b__49() в System.Web.Mync.ync. c__DisplayClass37.b__36(IAsyncResult asyncResult) в System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<>c__DisplayClass2a.b__20() в System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.b__22(IAsyncResult asyncResult) в System.Web.Mvc.ync.sync..b__3(IAsyncResult ar) в System.Web.Mvc.Controller.EndExecute (IAsyncResult asyncResult) в System.Web.Mvc.MvcHandler. <> c__DisplayClass8.b__3 (IAsyncResult asyncResult) в System.Wc.c.v. c__DisplayClass4.b__3 (IAsyncResult ar) по адресу System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) по адресу System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApp.TeteTecTecE Шаг IExecutionStep, логический и завершен синхронно)
Какие шаги мы должны предпринять, чтобы решить эту проблему?
7 ответов
Ты можешь попробовать:
обновить TFS 2015 до TFS 2015, обновление 1.
очистите папку кеша файлов на вашем AT-компьютере: C:\TfsData\ApplicationTier_fileCache
перезапустите пул приложений TFS в IIS.
Это все еще происходит в VSTS на доске Канбан на уровне историй. Я смог обойти эту проблему, переместив пользовательскую историю в другой столбец, а затем переместив ее обратно в исходный столбец в нужном мне порядке. Раздражает, но, похоже, работает.
Я только столкнулся с этой проблемой и решил ее, убедившись, что мой путь итерации объекта был в том же пути итерации, который назначен бэклогу соответствующей команды. Это может работать не во всех случаях, но после внесения изменений я смог изменить порядок своих функций с их детьми без ошибок.
В моем случае я задыхался от просмотра невыполненных функций. Я обнаружил, что у меня есть пользовательские истории в качестве родителей ошибок, которые были установлены на уровне требований, а не на уровне задачи (то есть они были вложенными). Исправление ошибки / пользователь
Как выяснилось, это было связано с тем, как мы использовали TFS в прошлом по сравнению с TFS сейчас. Приведенные здесь указания указывают на то, что упорядочение рабочих элементов должно выполняться в контексте функций.
То есть упорядочить по функциям, а затем в соответствующем журнале ожидания Sprint упорядочить по имеющимся рабочим элементам.
Мы столкнулись с той же проблемой. В нашем случае ошибка была вызвана случайной связью между функциями и требованиями в заделе команды: требование, которое уже имело родителя, стало родителем другой функции. Следовательно, упорядочение отставания больше невозможно.
Таким образом, чтобы решить эту проблему, мы должны были найти требование, которое было сделано родительским для другой функции, и удалить эту родительскую / дочернюю ссылку. Затем мы смогли изменить порядок ожидания требований.
Просто чтобы добавить в список впечатлений, я только что натолкнулся на это в TFS 2018.1.
В моем случае это произошло после того, как одна из наших команд реорганизовала способ использования плат и внесла некоторые радикальные изменения в области и пути итераций в PBI, но не в задачах.
Основная причина заключалась в том, что некоторые (ранее существовавшие) открытые (New, Inprogress) задачи в PBI находились в другой итерации и были добавлены новые области. Обеспечение того, чтобы все открытые задачи находились в одной и той же области пути / итерации, решило проблему.
Я заметил, что это происходит только в том случае, если:
СЛУЧАЙ 1:
Я перемещаю PBI с детьми и помещаю это перед другим PBI или
СЛУЧАЙ 2:
Я перемещаю PBI и ставлю его после PBI с детьми
Обходной путь, который я использовал для каждого случая, таков.
Временное решение:
Представьте, что это заказ:
PBIWithChildren
PBINoChild
PBIINeedToMove
и это порядок, которого я хочу достичь:
PBIINeedToMove PBI с детьми PBINoChild
я переехал PBIWithChildren
один готов. Итак, заказ стал таким:
PBINoChild
PBIWithChildren
PBIINeedToMove
Потом я переехал PBIINeedToMove
и бросил его раньше PBINoChild
так что порядок стал таким:
PBIINeedToMove
PBINoChild
PBIWithChildren
Потом я переехал PBIWithChildren
один из них и закончился тем, чего я хотел достичь:
PBIINeedToMove PBI с детьми PBINoChild
Я знаю, что это звучит как много шагов, но только когда вам нужно это написать. В противном случае это быстрый обходной путь.