Заметки консультанта

Шамрай Александр Владимирович

Отчет о списывании времени с задач

Posted by Шамрай Александр на Март 28, 2015

Team Foundation Server позволяет исполнителям ежедневно отчитываться о времени потраченном на свои задачи. Данная возможность позволяет команде и менеджеру проекта оперативно в целом оценивать ситуацию и понимать вкладываемся ли в итерацию, спринт или успеем мы отдать доработку к обещанному сроку. Но когда встает вопрос узнать об истории изменения времени или как списывалось время в конкретный день, то это стандартными возможностями через запросы по рабочим элементам не получить. Поучить можно ее с помощью отчетов, но стандартного такого отчета нет в коробке TFS, поэтому его необходимо создавать.

Выполнять разработку отчета с чистого листа нет смыслы, т.к. есть возможность взять за основу отчеты, которые поставляются с TFS. Немного «почистив» стандартный отчет, можно получить типовой шаблон для всех последующих отчетов. Пример такого отчета можно скачать как zip-архив здесь. Данный отчет можно редактировать с помощью Report Builder. Отчет содержит некоторые параметры, которые динамически определяют название проекта, поэтому для того, чтоб он заработал его необходимо открыть и сохранить на Report Server в каталог необходимого командного проекта:

Рисунок 1. Сохранение отчета на сервере отчетности

Кроме этого необходимо убедитmся, что источник данных указывается на правильное соединение TFSReportDS:

Рисунок 2. Свойства источника данных

Далее нам необходимо получить данные о списании времени для рабочих элементов. Это необходимо сделать с помощью добавления нового источника данных:

Рисунок 3. Свойства источника данных

Текст запроса можно использовать ниже приведенный, он взят из руководства по отчетности от ALM Rangers. Этот запрос отбирает из таблицы WorkItemHistoryView необходимые данные, а также стразу подчитывает разницу времени, которe. исполнитель указал в рабочем элементе.

SELECT

[System_Id] As [Id],[System_Rev] As [Rev],

[System_ChangedBy] As [Changed By],

[Microsoft_VSTS_Scheduling_OriginalEstimate] AS [Original Estimate],

[Microsoft_VSTS_Scheduling_RemainingWork] AS [Remaining Work],

[Microsoft_VSTS_Scheduling_CompletedWork] AS [Completed Work],

[System_Title] As [Title],[System_AssignedTo] As [Assigned To],

[System_ChangedDate] As [Changed Date],

[ProjectNodeName] AS [Team Project],

[AreaName],[AreaPath],

[IterationName],

[IterationPath],

[Microsoft_VSTS_Scheduling_RemainingWork] — (Select Top 1 IsNull([Microsoft_VSTS_Scheduling_CompletedWork],0)

FROM [Tfs_Warehouse].[dbo].[WorkItemHistoryView] WITH(NOLOCK)

WHERE [System_Id] = WIHV.[System_Id]

AND [System_Rev] = WIHV.[System_Rev] — 1) as [Completed Diff]

FROM

[Tfs_Warehouse].[dbo].[WorkItemHistoryView] WIHV WITH(NOLOCK)

WHERE

/** Filter team project **/

[ProjectNodeName] LIKE @ProjectName

/** Filter correction entries **/

AND [RevisionCount] IS NOT NULL /** Filter empty entries **/

AND ([Microsoft_VSTS_Scheduling_OriginalEstimate] IS NOT NULL

OR [Microsoft_VSTS_Scheduling_RemainingWork] IS NOT NULL

OR [Microsoft_VSTS_Scheduling_CompletedWork] IS NOT NULL)

ORDER BY ID, Rev

Ну и далее необходимо отразить результаты работы отчета. Для этого можно воспользоваться мастером вставки таблиц:

Рисунок 4. Вставка таблицы результатов мастером

Далее в новую таблицу мы добавляем поля, которые нам необходимы для отображения:

Рисунок 5. Добавление новых полей

И теперь мы уже можем проверить результат, нажав кнопку Выполнить в Report Builder. Но на текущий момент отчет будет отбирать все изменения, которые были выполнены в TFS. Нам же необходимо отобрать по конкретной дате. Для этого нам нужно добавить новый параметр в отчет и вставить его в тело запроса для нашего набора данных. Добавить параметр можно в соответствующем разделе отчета и указав следующие свойства:

Рисунок 6. Свойства параметра

Теперь сталось добавить данный параметр в тело запроса, где мы будем сравнивать задаваемую дату с датой изменения рабочего элемента. При этом нужно помнить, что данный параметр и значение поля рабочего элемента имеют тип Дата-Время, поэтому мы приведем их только к дате. Пример запроса в наборе данных ниже:

Рисунок 7. Измененный запрос

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

Рисунок 8. Готовый отчет

Дополнительные ссылки:

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: