Существует ли макрос запроса TFS для текущей итерации?

есть ли способ в TFS в VS2010 указать, что конкретная итерация является текущей, а затем вернуть ее для использования в запросах, похожих на way @Project работает? Если нет, есть ли способ выполнить подзапросы в запросах рабочих элементов TFS?

5 ответов


боюсь, что такого макроса нет. У меня лично есть несколько командных запросов "X в текущей итерации", а затем отредактируйте эти запросы, чтобы указать новый путь итерации в начале каждой итерации.


похоже, Microsoft слушала. @CurrentIteration is добавляется как токен.

Это здорово, конечно. Однако при написании запроса к текущему спринту вы рискуете потерять из виду незамкнутые рабочие элементы в предыдущих спринтах. Когда вы достигнете @CurrentIteration, вы, вероятно, просто имеете в виду " все незавершенные работы, которые были совершены в спринте."Если вы отфильтруете до одного спринта, вы пропустите всех отставших, которых вы не смогли закрыть или двигаться вперед предыдущие спринты.

рассмотрите возможность использования следующего шаблона, где "ScrumOfScrums\Release 1.0.0.0" - это ваш путь отставания, и все ваши пути спринта являются дочерними для этого:

TFS query of work items Under the backlog iteration node, but not equal to the backlog iteration node. Also not Closed.

фильтр для рабочих элементов в узле итерации отставания, но не равен узлу итерации отставания. Это даст вам все элементы, связанные с спринтом.

Это также будет ловить любые предметы, которые не были закрыты в предыдущих спринтов. Поскольку целью является закройте каждый элемент в спринте перед переходом к следующему, этот шаблон запроса обычно будет лучше, чем использование @CurrentIteration, Если вы хотите найти закрытые элементы в текущей итерации.

P. S. Пока это старый вопрос, он был моим хитом, когда я искал информация о запросе текущей итерации в TFS.


Я попытаюсь использовать стандартное имя для текущей итерации, например "Current". Запросы для этой итерации будут ссылаться на это имя. Как только итерация будет завершена, я переименую ее, используя соглашение об именах, которое включает дату, например, и следующая итерация будет создана с именем "Current" (или переименована в это, если она уже существует). Затем запросы будут возвращать результаты новой итерации.

- 2010-49
- Current
- 2010-51

Я не уверен, что переименование итераций таким образом вызовет любые конфликты или запутает хранилище данных, например, но это сэкономит на создании или изменении кучи запросов в начале каждой итерации.

мне было бы очень интересно услышать отзывы о таком подходе!


запрос на Sprint в интервале дат, как показано здесь:

    Team Project    =   @Project
And Work Item Type  =   Sprint
And Start Date  <=  @Today
And Finish Date >=  @Today

Я обнаружил, что из Telerik это Диспетчер Рабочих Элементов обеспечивает элегантное решение этой проблемы.

просто определите свои запросы, как обычно, но оставьте все фильтры, относящиеся к итерациям (обратите внимание, что это также относится к областям). Существует панель treeview с именем "фильтры области / итерации", которая добавит дополнительную рекурсивную фильтрацию на основе итерации (или области), которую вы выберете там.

обратите внимание, что если панель не отображается, вы можете включите его через меню Вид.

alt text